manywaypark's Blog
개발, 검색, 함수

플러그인 설치가 꼬여서 eclipse를 지웠다가 재설치를 했는데,
다음과 같은 에러 로그를 뿌리면서 Ubuntu box에서 eclipse가 실행되지 않았다.

로그 처음 부분:
!SESSION 2008-06-11 19:16:32.612 -----------------------------------------------
eclipse.buildId=M20070212-1330
java.version=1.6.0_03
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86_64 -debug -consoleLog

!ENTRY org.eclipse.osgi 2 1 2008-06-11 19:16:35.246
!MESSAGE NLS missing message: initializer_error in: org.eclipse.core.internal.runtime.messages

!ENTRY org.eclipse.osgi 2 1 2008-06-11 19:16:35.247
!MESSAGE NLS missing message: fileInitializer_fileNotFound in: org.eclipse.core.internal.runtime.messages

!ENTRY org.eclipse.osgi 2 1 2008-06-11 19:16:35.248
!MESSAGE NLS missing message: fileInitializer_IOError in: org.eclipse.core.internal.runtime.messages

!ENTRY org.eclipse.osgi 2 1 2008-06-11 19:16:35.248
!MESSAGE NLS missing message: fileInitializer_missingFileName in: org.eclipse.core.internal.runtime.messages

!ENTRY org.eclipse.osgi 4 0 2008-06-11 19:16:35.270
!MESSAGE An error occurred while automatically activating bundle org.eclipse.ui.workbench (8).
!STACK 0
org.osgi.framework.BundleException: The activator org.eclipse.ui.internal.WorkbenchPlugin for bundle org.eclipse.ui.workbench is invalid
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:141)


해결법은 간단히 다음 명령어 입력:
$sudo apt-get --purge remove libswt3.2-gtk-*
#lets him remove all eclipse pakages and reinstall eclipse
$sudo apt-get install eclipse
libswt와 모종의 충돌(?)이 있는 듯하다.

참고:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=446299#120
https://bugs.launchpad.net/ubuntu/+source/eclipse/+bug/109583

happy hackin'
Window > Preferences... 의 왼쪽 패널에서 Java > Editor > Templates를 선택하면 다양한 template을 자바 에디터에서 사용할 수 있다.
예를 들어 내가 자주 사용하는 logger 관련 선언 자동 삽입은 다음 순서로 하면 쓸 수 있다.
  1. "New..."를 선택한다.
  2. Name에 "_l"을, Description에 "insert logger", Pattern에 "protected final static Log log = LogFactory.getLog(${enclosing_type}.class);"을 넣고 "OK"를 누른다.
    사용자 삽입 이미지
  3. java 편집기에서 _l을 타이핑한 후에 Content Assist 명령을 입력하면, 현재 클래스의 logger를 자동으로 삽입할 수 있다.
    Content Assist 명령은 emacs 모드의 경우 Alt + /이고 default 모드의 경우 Ctrl + Space이다.
참고: "Insert Variable..." 버튼을 눌러보면 다양한 context 관련 변수(현재 클래스명 및 메서드 관련 등) 및 유용한 변수들(날짜, 시간관련 등)을 Pattern에 넣을 수 있다.

happy hackin' with DRY

Linux에서 java 한글 글꼴 설정

java 2007. 10. 1. 16:30 by manywaypark
먼저 Windows의 윤곽선 글꼴을 쓰기 위해,
Windows의 %windir%\Fonts 디렉토리의 batang.ttc, gulim.ttc를 리눅스의 ~/.fonts 디렉토리로 복사한다.
http://bebop.emstone.com/research/linux/ubuntu_java15_hangul/view에서 다운로드 받은 fontconfig.properties 파일을 /usr/lib/jvm/java-1.5.0-sun/jre/lib에 복사한다.
fontconfig.properties 내의 /home/lethean/을  $HOME으로 변경한다.

java application에서 멋지게 나오는 한글을 감상한다.

happy hackin'




Ubuntu edgy AMD64에서 eclipse사용하기

java 2007. 2. 3. 15:41 by manywaypark
https://launchpad.net/ubuntu/+source/eclipse/+bug/68053
상기 링크에 여러 해결법들 및 논의들이 나오지만, 현재 기준으로는 거의 맨 아래쪽의 Tobias가 말한 대로 하면 해결되는 듯하다.
내용을 요약하자면, apt source list에 edgy-proposed를 추가한 후에 eclipse 관련 package들을 upgrade한다.

/etc/apt/source.list에 다음 라인 추가:
deb http://archive.ubuntu.com/ubuntu/ edgy-proposed universe main multiverse restricted


upgrade할 패키지 리스트:
eclipse 3.2.1-0ubuntu2
eclipse-jdt 3.2.1-0ubuntu2
eclipse-pde 3.2.1-0ubuntu2
eclipse-platform 3.2.1-0ubuntu2
eclipse-rcp 3.2.1-0ubuntu2
eclipse-source 3.2.1-0ubuntu2

libswt3.2-gtk-java 3.2.1-0ubuntu2
libswt3.2-gtk-jni 3.2.1-0ubuntu2


현재 내 설정:
$ uname -a
Linux desktop 2.6.17-10-generic #2 SMP Tue Dec 5 21:16:35 UTC 2006 x86_64 GNU/Linux
$ java -version
java version "1.5.0_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_08-b03, mixed mode)


happy hackin'

maven 사용하기 - ejb3

java 2007. 1. 30. 16:55 by manywaypark
기본적으로 EJB3에서는 annotation을 사용할 경우 ejb-jar.xml 파일이 필요없는데, 현재 배포되는 maven-2.0.4에 포함된 maven-ejb-plugin은 ejb-jar.xml 파일이 없을 경우 에러를 내고 빌드되지 않는다. maven의 source repository에서 plugin들의 소스를 받아서 'mvn install'을 해주면 패치가 적용되어 ejb-jar.xml 파일이 없어도 ejb 프로젝트를 빌드할 수 있다.

happy hackin'

maven 사용하기 - 테스트

java 2007. 1. 23. 03:37 by manywaypark
  1. 테스트하지 않고 goal 실행하기:
    $ mvn -Dmaven.test.skip=true -e package
    모든 테스트를 통과해야만 packaging할 수 있는 건 너무 매정하다. 그래서, 테스트하지 않고도 packaging하게 만드는 것이다. 테스트 통과하지 못하는 놈을 release하는 짓은 절대 하면 안된다. 그러나, 가끔 특수한 상황에서 사용하면 유용하다.

  2. 테스트 실패해도 goal 실행하기:
    $ mvn -Dmaven.test.failure.ignore=true -e package
    역시나 테스트 한두개 실패했다고 packaging할 수 없다는 것은 너무 매정하지 않은가?

  3. 특정 테스트만 하고 goal 실행하기:
    $ mvn -e test -Dtest=*FooBarTest
    테스트 클래스의 패턴을 지정할 수 있다. maven expression으로 하면 ${test}이고, 일반적 표현으로 하자면, **/${test}.java이다. 이 옵션이 사용되면 includesexcludes에서 지정된 패턴들은 무시된다.

위에서 보듯 mvn에 전달하는 인자는 순서에 상관이 없다.

happy hackin'

continuum 설치하기

java 2007. 1. 18. 16:33 by manywaypark
continuum continuous integration을 위한 apache 프로젝트이다.
SCM(svn 등), maven과 연동하여 강력한 빌드 시스템을 구축할 수 있다.
기본적으로 적당한 곳(/usr/local/)에 압축을 풀고 JAVA_HOME을 설정한 후 하위의 bin 디렉토리에서 OS 종류에 맞는 디렉토리를 찾아 startup script를 실행시키면 문제 없이 동작한다(고 설명되어있다).

그러나, 실제로는 64bit linux에서는 동작하지 않았다.

continuum에 같이 패키징된 java service wrapper가 32bit용으로 컴파일 된 것이어서 서비스 자체가 뜨지 않았다. 그냥 간단히 java service wrapper 64bit용 바이너리를 받아서 bin/linux 디렉토리에 넣어 보았으나, 역시 제대로 실행되지 않았다. 조금 낙담했으나, 소스를 받아서 컴파일 후에 wrapper, libwrapper.sobin/linux에 넣고 ./run.sh start하니 필요한 db를 만들고 어쩌고 하면서 제대로 서비스가 올라갔다.

happy hackin'

maven에서 java compiler version 설정하기

java 2007. 1. 12. 14:31 by manywaypark
maven으로 build를 하다가 보면, java compiler의 하위 호환성 문제로 다음과 비슷한 메시지가 출력되며 build가 되지 않을 때가 있다.
(generics|for-each loops) are not supported in -source 1.3
(try -source 1.5 to enable generics)

compile을 담당하는 plugin에게 source, target이 java 1.5라는 것을 알려주면 된다. POM 파일에 다음 내용을 추가한다.
    <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>

http://maven.apache.org/xsd/maven-4.0.0.xsd 에서 'build' element는 'project' element의 자식 element라는 것을 알 수 있으므로, project element의 하위에 위치하게 설정하면 된다.
사용자 삽입 이미지

happy hackin'
1 2 
분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

03-29 13:41