2017-01-20 1 views
0

우리는 공통적 인 지원 JAR 파일을 가지고있는 일련의 새로운 Spring 어플리케이션을 빌드하고 있습니다. Tomcat 환경에 배포 된 응용 프로그램에서는 세상이 좋습니다. 이러한 동일한 JAR은 비 Spring 환경에서 JBoss에서 실행되는 레거시 응용 프로그램을 통해 액세스해야합니다. 누군가가 저에게 위치를 가르키거나 여기서 Spring과 JBoss를 설정하는 방법을 설명 할 수 있습니까? JAR이 제대로 작동하거나 Spring 종속성이 JAR의 일부가되도록 패키지하는 방법. Maven도 혼합되어 있습니다. 봄의Spring과 JBoss 구성하기

1.Download 원하는 버전 :

답변

0

당신은 모듈로 봄 모듈을 만들 수

다음은 단계를 봄을 정의 할 수 있습니다. 이 예제에서는 Spring 3.1.1을 사용하고 있습니다.

디렉토리를 만듭니다. $ JBOSS_HOME/modules/org/springframework/spring/main.

3. 다운로드 한 스프링 라이브러리를 해당 디렉토리에 복사하십시오.

4. 해당 디렉토리 아래에 다음 내용으로 module.xml을 만듭니다. 이러한 라이브러리의 이름과 일치해야합니다 : 여기

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.1" name="org.springframework.spring"> 
    <resources> 
    <resource-root path="org.springframework.aop-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.asm-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.aspects-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.beans-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.context-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.context.support-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.core-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.expression-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.instrument-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.instrument.tomcat-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.jdbc-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.jms-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.orm-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.oxm-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.test-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.transaction-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.web-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.web.portlet-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.web.servlet-3.1.1.RELEASE.jar"/> 
    <resource-root path="org.springframework.web.struts-3.1.1.RELEASE.jar"/> 
    </resources> 
    <dependencies> 
    <module name="org.apache.commons.logging"/> 
    <module name="javax.api" export="true"/> 
    <module name="org.jboss.vfs"/> 
    </dependencies> 
</module> 

절대 최소한을 Module.xml입니다 (다른 봄 버전 무관) : 다음 JBoss에 deployment- 5.Put

<?xml version="1.0"?> 
<module xmlns="urn:jboss:module:1.1" name="org.springframework.spring"> 
    <resources> 
    <resource-root path="spring-aop-3.2.3.RELEASE.jar"/> 
    <resource-root path="spring-beans-3.2.3.RELEASE.jar"/> 
    <resource-root path="spring-context-3.2.3.RELEASE.jar"/> 
    <resource-root path="spring-core-3.2.3.RELEASE.jar"/> 
    <resource-root path="spring-expression-3.2.3.RELEASE.jar"/> 
    </resources> 
    <dependencies> 
    <module name="javax.api"/> 
    <module name="org.apache.commons.logging"/> 
    </dependencies> 
</module> 

위의 모듈을 사용하기 위해 응용 프로그램 아카이브 (WAR의 경우 WEB-INF/jboss-deployment-structure.xml 또는 EAR 또는 EJB-jar의 경우 META-INF/jboss-deployment-structure.xml)에서 위의 모듈을 사용하십시오.

JBoss EAP 6.1.x 이상을 사용하는 경우 다음을 사용하십시오 :

?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure> 
    <deployment> 
    <dependencies> 
     <module name="org.springframework.spring" export="true" meta-inf="export"/> 
    </dependencies> 
    </deployment> 
</jboss-deployment-structure> 

보스 EAP 6.0.x에, 그때

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure> 
    <deployment> 
    <dependencies> 
     <module name="org.springframework.spring" export="true"> 
     <imports> 
      <include path="META-INF**"/> 
      <include path="org**"/> 
     </imports> 
     <exports> 
      <include path="META-INF**"/> 
      <include path="org**"/> 
     </exports> 
     </module> 
    </dependencies> 
    </deployment> 
</jboss-deployment-structure> 

주 미만 사용할 경우 메타 INF를 모듈에 보스 EAP 6.1.0에 추가 된 보스 배포-structure.xml에서 이것은 META-INF 내의 파일들을 볼 수있게한다. JBoss EAP 6.0.x에서는이 기능을 사용할 수 없었기 때문에이 섹션에서는 기본적으로 표시되지 않는 META-INF 디렉토리에 액세스 할 수 있습니다.

참고 : Spring Framework 모듈에는 servlet-api.jar, xml-apis.jar, jta-api.jar 및 기타 API와 같은 리소스가 포함되어서는 안됩니다. 이러한 API는 JDK 또는 JBoss에서 구현되며 다른 버전의 API를 사용하면 클래스로드 문제 및 기타 문제가 발생할 수 있습니다.

참고 : Spring 모듈에는 Java/JavaEE가 아닌 모든 종속성이 포함되어야합니다. Spring 모듈은 JBoss와 공개 JBoss 모듈에 의해 제공되는 javax.api/javaee.api에 의존 할 수 있지만, 다른 의존성에 대해서는 Spring과 같은 애정을 갖습니다. 모듈이나 다른 커스텀 모듈에 리소스로 포함되어야합니다.

+0

다음 단계를 수행하면 첫 번째 항아리를로드하려고 할 때 파일을 찾을 수 없습니다. 파일 이름은 spring-aop-4.3.2.RELEASE.jar이고 ''와 ' path = "org.springframework.spring-aop-4.3.2.RELEASE.jar"/> '제안 사항 @ anup-dey? – Smoketx

+0

파일을 찾을 수 없다는 문제가 발생했습니다. – Smoketx