1

Maven を使用して WAR を含む EAR を構築しています。JARS は EAR のルートと WAR の lib フォルダーの両方に複製されています。WAR から jar を削除するためのスキニー jar について読みましたが、保持したいのでこれは必要ありません。スタンドアロン ユニットとしての WAR
ですが、それを逆にして、EAR のルート フォルダから JAR を削除する方法はありますか?
EAR POMが添付されています

    <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <modules>
                    <webModule>
                        <groupId>com.csv.xyz</groupId>
                        <artifactId>web</artifactId>
                    </webModule>
                </modules>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>com.csv.xyz</groupId>
        <artifactId>web</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
        <scope>compile</scope>
    </dependency>
</dependencies>
4

3 に答える 3

1

クラスローダーのアーキテクチャのため、これは良い考えではないと思います。JAR が WAR の一部である場合、それは Web アプリ クラス ローダーによって定義されるため、複数のインスタンスが生成される可能性があります。EAR の一部である場合は、別のクラス ローダーであるエンタープライズ アプリ クラス ローダーによって定義されます。

于 2012-11-13T15:47:04.277 に答える
0

EAR libフォルダーから依存関係を削除するには、たとえばcommons-langを削除するために、EARpomで提供されている依存関係を宣言します。

<dependencies>  
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
        <scope>provided</scope>
    </dependency>    
</dependencies>

依存関係を必要としないEJBモジュールがあるかどうかを確認してください。また、webModulesはEARのルートlibフォルダーに寄与しませんが、ear pomにさらに依存関係がありますか?

于 2012-11-15T15:50:07.107 に答える