2017-01-20 14 views
0

共通のサポートするJARファイルを持つ一連の新しいSpringアプリケーションを構築しています。 Tomcat環境に配備されたアプリケーション内では、世界は良いです。これらの同じJARには、Spring以外の環境でJBoss上で実行されているレガシーアプリケーションによってアクセスする必要があります。 Springの依存関係がJARの一部であるように、JARが適切に機能するようにSpringやJBossを設定する方法や、それらをパッケージ化する方法を説明することができます。 Mavenも混在しています。春のSpringとJBossのコンフィグレーション

1.Download目的のバージョン:

答えて

0

あなたはモジュールとして春のモジュールを作成するための

され、次のステップを春を定義することができます。この例では、Spring 3.1.1を使用しています。

ディレクトリを作成します。 $ JBOSS_HOME/modules/org/springframework/spring/main。

3.ダウンロードしたSpringライブラリをそのディレクトリにコピーします。

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> 

上記のモジュールを使用するには、アプリケーションアーカイブのWEB-INF/structure.xml(WARの場合はWEB-INF/jboss-deployment-structure.xml、EARの場合は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> 

のJBoss 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> 

注下に使用する場合:META-INFをモジュール上のJBoss EAP 6.1.0に加えたJBoss-展開する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

これらの手順を実行すると、最初のjarファイルを読み込もうとするとファイルが見つかりません。ファイル名はspring-aop-4.3.2.RELEASE.jarで、私は ''と ' path = "org.springframework.spring-aop-4.3.2.RELEASE.jar" /> '任意の提案@ anup-dey? – Smoketx

+0

ファイルが見つからないという問題を見つけました。 – Smoketx

関連する問題