J2EE서버로 JBoss4.X를 사용하고 있는데 필요한 클래스를 Application단위가 아닌

System Wide 적용하고 싶다면 아래와 같이 하면 유용할 것입니다.

Application 단위로 적용하고 싶다면 ear로 패키징할 것을 권합니다.

 

JBOSS_HOME/server/default/conf/jboss-service.xml 파일을 열어보면

<classpath codebase="lib" archives="*"/>

이부분이 나오는데 이는 JBOSS_HOME/server/default/를 기준으로 lib 폴더의

모든 파일을 클래스패스에 추가한다는 뜻입니다.

 

보통 lib 폴더아래에 ext 폴더를 생성하고 필요한 클래스를 ext폴더에 넣어줍니다.

대표적으로 JDBC 드라이버등이 System Wide 적용하는데 어울리겠지요

JBOSS_HOME/server/default/lib/ext/jconn2.jar 등과 같이 실제 파일을 넣으시고

jboss-service.xml 에는 다음과 같이 추가합니다.

 

<classpath codebase="lib" archives="*"/>

<classpath codebase="lib/ext" archives="*"/>

 

이를 응용하면 물론 더 많은 폴더를 생성해도 되겠지요

한가지 주의점은 클래스패스에 추가할때 이넘이 어떤 용도인지 반드시

커멘트를 해두라는 것입니다. Readme.txt에 간단히 적는것도 한 방법입니다.


4.2.3 GA에서는 이렇게 하는군요.
   <classpath codebase="${jboss.server.lib.url:lib}" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/ladybug" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/jdbc/sybase" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/jdom" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/jbosscache-2.2" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/jbosscache-2.2/lib" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/commons-digester-1.8" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/commons-lang" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/commons-configuration" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/commons-net-1.4.1" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/jakarta-oro-2.0.8" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/quicksilver" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/namecheck" archives="*"/>
   <classpath codebase="${jboss.server.lib.url:lib}/ext/jxl" archives="*"/>


Posted by
,