자바

자바 기반의 개발 경험, 코드 예제, 프레임워크 활용법 등을 다룹니다.

자바

IntelliJ에서 Subversion 사용 중 한글이 깨질 때

IntelliJ에서 Subversion 사용 중 한글파일을 처리하는 경우 아래와 같은 에러가 발생한다. 정확한 원인은 모르겠지만, 아마도 한글 처리에 문제가 있는 듯 하다. IntelliJ에서 SILK SVN을 사용하고 있다면 아래 그림처럼 locale에 있는 ko 디렉토리를 지우거나, 다른 이름으로 변경해 주면 에러는 더 이상 발생하지 않는다. 이런 걸 신경써야 하다니, 아쉬운걸.

자바

Intellij content is not allowed in prolog

IntelliJ 실행 시 아래와 같은 에러가 나는 경우가 있다. Error:Internal error: (org.jdom.input.JDOMParseException) Error on line 1: 프롤로그에서는 콘텐츠가 허용되지 않습니다. org.jdom.input.JDOMParseException: Error on line 1: 프롤로그에서는 콘텐츠가 허용되지 않습니다.     at org.jdom.input.SAXBuilder.build(SAXBuilder.java:533)     at org.jdom.input.SAXBuilder.build(SAXBuilder.java:946) Colored by Color Scripter cs 여러 가지 원인이 있겠지만, 이번 경우는 프로젝트 디렉토리에 있는 workspace.xml 파일이 잘못되어 발생했다. 실제로 파일을 열어 보니 NULL 문자만 잔뜩 들어가 있었다. 해당 파일을 수정 후 재기동 하니 정상 동작한다. 아래는 에러 전문이다. Error:Internal error: (org.jdom.input.JDOMParseException) Error on line 1: 프롤로그에서는 콘텐츠가 허용되지 않습니다. org.jdom.input.JDOMParseException: Error on line 1: 프롤로그에서는 콘텐츠가 허용되지 않습니다.     at org.jdom.input.SAXBuilder.build(SAXBuilder.java:533)     at org.jdom.input.SAXBuilder.build(SAXBuilder.java:946)

자바

IntelliJ 에서 Subversion 1.8 사용 방법

Subversion 1.8은 SVNKit 대신에 native command line client를 사용한다고 한다. IntelliJ 13에는 포함되어 있지 않기 때문에, SILK Svn 같은 별도 프로그램을 설치해야 한다. (링크 참고) IntelliJ 13에서는 아래와 같이 하여 사용할 수 있다.  SILK Svn 설치 (다운로드) IntelliJ 설정에서 command line client를 SILK SVN의 svn.exe로 변경 참고로 설치 환경은 다음과 같다.    – Windows 7,

자바

Eclipse : Unhandled event loop exception

  이클립스 사용 중 위와 같은 오류가 발생하는 경우 해결을 위해 시도해 볼 수 있는 세가지 방법이 있다.  eclipse.ini 수정 그래픽 카드 드라이버 업데이트 윈도우즈 업데이트 1, 2번은 소용이 없었으나, 3번 방법을 적용하고 난 후 더 이상 경고창이 뜨질 않고 있다. 아마도 윈도우즈7 초기 버전에 무슨 버그가 숨어있었던 건 아닌가 싶다. 

자바

SLF4J

개요 SLF4J(Simple Logging Facade for Java)는 배포 시점에 여러 로깅 프레임웍 중 하나를 적용할 수 있도록 해주는 퍼사드(Facade) 이다. 간단한 이력 버전 1.6.0 이후 클래스패스에 바인딩 된 로깅 프레임워크가 없는 경우 최초 1번의 경고 메시지만을 출력하며, 이후의 로그정보를 출력하지 않는다. 버전 1.7.0 이후 Object[] 대신 varargs 기능을 사용할 수 있으며,버전 1.6 과 100% 호환된다.(JDK 1.5

자바

Jetty : ContextPath 추가하기

${jetty 설치경로}/context 디렉토리에 추가할 Context 정보를 기술한 xml 파일을 추가한다. 운영 중인 jetty는 동적으로 추가된 XML 파일을 파싱하여 추가된 Context에 대한 서비스를 시작한다. 예를 들어 /home/tester/sampleWebApp 를 추가하는 경우 아래와 같이 sample.xml 파일을 작성하여, ${jetty 설치경로}/context 디렉토리에 저장한다. <?xml version=“1.0”  encoding=“ISO-8859-1”?> <!DOCTYPE Configure PUBLIC “-//Jetty//Configure//EN” “http://www.eclipse.org/jetty/configure.dtd”>   <Configure class=“org.eclipse.jetty.webapp.WebAppContext”>   <!– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –>   <!– Required minimal context configuration :                        –>   <!–  + contextPath                                                  –>   <!–  + war OR resourceBase                                          –>   <!– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –>   <Set name=“contextPath”>/sample</Set>   <Set name=“war”>/home/tester/sampleWebApp</Set>  </Configure> Colored by Color Scripter cs

자바

Jetty : java.err.nojdk

Jetty를 설치하고 실행하여 샘플 웹페이지까지 확인했다. 그런데 JSP를 호출하면 java.err.nojdk가 발생한다. 검색해 보니 JAVA_HOME 경로가 설정되지 않은 경우에 위와 같은 에러가 발생한다고 한다. PATH에는 java 명령어가 포함되어 있어 jetty 기동이 되었으나, JSP나 Servlet 처리 시 환경변수에 설정된 JAVA_HOME을 이용하는가 보다. JAVA_HOME에 JDK 경로를 설정 후 재시작하면 OK! 참고로 JAVA_HOME에 JRE 경로를 설정하면 jetty 기동 시

자바

Apache Commons Configuration : List handling

버전: Apache Commons Configuration 1.8 참고: 여기  Commons Configuration은 기본적으로 콤마(,)를 구분자로 사용하며, Value에 콤마가 있는 경우 리스트로 처리한다.  colors=red,blue,yellow String[] colors = config.getStringArray(“colors”); List<Object> colorList = config.getList(“colors”); cs 프로퍼티 파일을 사용하는 경우 편리하게 사용할 수 있는 기능이다.  반면 XML 파일을 사용하며, 콤마가 들어있는 값을 리스트로 처리하면 안되는 경우에는 구분자를 비활성화 할 수 있다.  XMLConfiguration xc = new XMLConfiguration(); xc.setDelimiterParsingDisabled(true); xc.load(“./config.xml”); cs 구분자를 비활성화 하더라도

자바

윈도우 환경에서 Tomcat 실행 중 Heap Dump 생성 방법

실행환경 OS : Windows XP,  Windows 7, Windows Server Java Version : 1.6 1. OutOfMemory 발생 시 Heap Dump를 자동 생성하는 방법 %TOMCAT_HOME%/bin/startup.bat 에 VM 옵션 추가 2. Tomcat 실행 중 Heap Dump를 수동 생성하는 방법 Tomcat PID 확인 Heap Dump를 수동으로 생성하기 위해서 먼저 Tomcat의 PID를 확인 jmap을 이용한 Heap Dump 생성 jmap -dump:format=b,file=heap.dmp

자바

Netty 배포본에서 이클립스 프로젝트 만들기

Netty 프로젝트의 배포본을 다운로드하여 소스를 이클립스용 프로젝트로 전환하는 방법은 Maven을 이용하는 것이다. Netty 배포폰의 압축을 해제하면 pom.xml이 있으므로, 콘솔 창에서 mvn eclipse:eclipse compile 명령을 수행하면 당연히 될 줄 알았는데, 다음과 같은 에러가 발생합니다.  이 에러는 Netty 프로젝트가 Maven 중앙 저장소에서는 지원하지 않는 artifacts를 필요로 하기 때문이다. Maven 설정에 아래 내용을 추가하면 해결된다.  …….. (생략) <settings xmlns=“http://maven.apache.org/SETTINGS/1.0.0”           xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

위로 스크롤