프로젝트 유지보수 중 다음과 같은 에러 로그가 반복됐다.[Fatal Error] :1:49: publicId와 systemId 사이에는 공백이 필요합니다.처음 구글링했을 때 해결방법은 XML 설정파일의 DOCTYPE 선언 부분에 오류가 있는지 확인하는 것이었다. 프로젝트에서 사용중인 모든 xml을 확인해봤지만 문제가 없었다. 그나마 의심가는 파일들을 조금씩 이리저리 수정하다가 URL을 이용한 통신과정에서도 이런 에러 로그가 발생할 수 있다는 것을 알았다.확인해보니 특정한 화면에서만 에러가 발생하고 있었다. JSP 뷰를 모두 지워봤는데도 발생하는 걸 보니 컨트롤러에서 URL 통신하는 코드에 문제가 있다고 판단됐다. RSS를 불러오는 URL의 HTTPS 설정 문제였다.URL feedURL = new URL(..
데이터를 엑셀로 변환해서 출력하는 작업중이다. 몇몇 값은 Oracle의 LISTAGG 함수를 사용해 한 칸에 여러 행의 정보를 담고 있다. 그래서 행마다 줄바꿈을 넣어주고 싶은데 문자열에 \n, \r\n, 등등 이것저것 넣어봤으나 실패했다. 찾아낸 방법은 아래 HTML 문자열을 넣는 것이다. 출처: https://blog.naver.com/0131v/110127135647프로젝트에서는 MyBatis를 사용 중이다. 위 코드를 문자열로 넣으면 아래와 같은 오류가 발생했다.org.springframework.beans.factory.BeanCreationException: ... 요소 유형 "br"을(를) 선언해야 합니다.이럴 때는 부등호() 기호를 HTML 특수문자 값(<, >)으로 변환해주면 된다.
갑자기 로그인이 되지 않는 현상이 발생했다. ( Windows Server, Java 1.7, Tomcat 8.0, MSSQL 환경 )먼저 catalina.log 파일을 확인했더니 아래와 같은 에러가 무한 반복되고 있어서 관련 자료를 찾아보았는데 뚜렷한 해결책을 찾지 못했다. org.apache.coyote.http11.AbstractHttp11Processor.process Error processing request조금 헤매다가 tomcat8-stdout.log 파일을 확인해보았더니 다음 에러가 눈에 띄었다. Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 사용자 'USER_NAME'이(가) 로그인하지 못했습니다. 원인: 계정의 암호가 만료되..
참고: https://www.slipp.net/questions/208톰캣 재시작 시 org.apache.catalina.LifecycleException 이 발생했다. 다음과 같이 수정하니 해결되었다. ( Dynamic Web Module: 3.0 -> 3.1, Java: 1.6 -> 1.7 )프로젝트 설치 시 항상 최신 버전의 Java와 Dynamic Web Module을 사용해서 빌드하자. 만약 배포해야할 서버의 환경이 다르다면 서버 환경에 맞게 [Java Compiler] 옵션에서 버전을 선택하면 된다. Maven 및 프로젝트 설치 문제로부터 벗어날 수 있을 것이다. + 이번에 정리한 Spring 빌드 순서0. Java v1.8, Tomcat v8 사용 1. Run As > Maven Clean ..
SQL Developer에서 출력되는 오류 메세지:ORA-01489: 문자열 연결의 결과가 너무 깁니다 01489. 00000 - "result of string concatenation is too long" *Cause: String concatenation result is more than the maximum size. *Action: Make sure that the result is less than the maximum size LISTAGG 최대 4000 BYTE 기준을 초과한 건가 싶어서 확인해보았다. 하지만 파일명 최대길이는 171자 였고, 한 게시글당 최대 파일 개수는 3개였다. 513자는 4000 BYTE가 되지 않는다. 결국 LISTAGG 조건에서 오류를 찾았다.SELECT CO..
부모 폴더 생성이 되지 않으면 파일 생성 오류 발생 생성할 File 객체 선언 후 File file = new File(FILEPATH + fileName);재귀적 부모 폴더 생성 코드 추가해준다. file.getParentFile().mkdirs();mkdir() 과 mkdirs() 차이 - http://froginpot.tistory.com/51 - https://stackoverflow.com/questions/9820088/difference-between-mkdir-and-mkdirs-in-java-for-java-io-file
Vue.js가 적용된 페이지에서 응답 HTML이 중간에 뭉텅이로 빠지는 오류가 발생했다. Tomcat 서버에서는 정상적으로 동작했으나, Resin 서버에서만 오류가 발생했다. 렌더링 방식이 달라서 그런 것 같다. 증상을 조금 더 설명하자면, 신기하게 문서의 맨앞과 맨뒤는 맞는데 중간 부분이 말끔히 사라지고 그 부분은 자연스럽게 이어붙어있다. 원인은 Vue.js 렌더링 동작이 포함된 JavaScript 코드가 head 태그에 들어있었기 때문이었다. 해당 JavaScript 코드를 HTML DOM 최하단에 추가했더니 해결되었다.주먹구구식으로 쓰고 있었는데, 얼른 소개 문서라도 읽어봐야겠다.Vue.js 공식 튜토리얼 링크: https://kr.vuejs.org/v2/guide/
참고: http://blog.naver.com/PostView.nhn?blogId=hanajava&logNo=220810780508&parentCategoryNo=&categoryNo=32&viewDate=&isShowPopularPosts=false&from=postView로컬 서버에 있는 오라클인데 sqlplus / as sysdba 명령어 입력 시 오류가 발생한다. ORA-12560 접속 오류이다. 오라클서비스가 여러 개거나 SID를 변경하는 등의 작업을 할 경우 이러한 오류가 발생한다고 한다. 서비스가 켜져있는데도 이 오류가 발생하길래 확인해봤더니 시스템에 ORACLE_SID 값이 정의되어 있지 않았다.echo %ORACLE_SID% 입력 시 SID 값이 출력되지 않는다면 다음 명령어를 실행해보자..
참조: http://ilovehsk.tistory.com/109 소스, 대상 테이블스페이스에 모두 sqldeveloper로 접속했을 때 사용한 방법이다.2단계로 진행한다. 1. 테이블 생성테이블 생성문은 sqldeveloper에서 테이블 우클릭 > [빠른 DDL] > [워크시트에 저장] 후에 괄호 닫힌 부분까지만 복사했다.CREATE TABLE TO_TABLESPACE_NAME.TABLE_NAME ( COLUMN_NAME COLUMN_TYPE, ... )2. 데이터 복사INSERT INTO TO_TABLESPACE_NAME.TABLE_NAME SELECT * FROM FROM_TABLESPACE_NAME.TABLE_NAME;
- Total
- Today
- Yesterday