2

タイトルで述べたように、ear をビルドするときにアーティファクト (wars と ejbs) が ear 内にコピーされますが、APP-INF/lib が欠落しており、何が原因かわかりません。

これは pom.xml の一部です:

<plugin>
            <artifactId>maven-ear-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <earSourceDirectory>${basedir}/contentEar</earSourceDirectory>
                    <defaultLibBundleDir>APP-INF/lib</defaultLibBundleDir> 
                    <modules>
                        <webModule>
                            <groupId>my.webs</groupId>
                            <artifactId>web</artifactId>
                            <bundleFileName>web.war</bundleFileName>
                        </webModule>

                        <ejbModule>
                            <groupId>my.test.doc</groupId>
                            <artifactId>myEjb</artifactId>
                            <bundleFileName>myEjb.jar</bundleFileName>
                        </ejbModule>
                    </modules>
                </configuration>
                <executions>
                    <execution>
                        <id>build-ear</id>
                        <phase>package</phase>
                        <goals>
                            <goal>ear</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

また、/contentEar フォルダーには application.xml ファイルとマニフェスト ファイルしかありません。

これについてのアイデアがあれば、私を助けてください...

4

1 に答える 1

1

そしてMavenは何を入れるべきAPP-INF/libですか?期待される結果は何ですか?ドキュメントから:

詳細設定

...

サードパーティのライブラリ (つまり、JarModule) は生成されたものに含まれないことに注意してくださいapplication.xml(Java エントリには ejb-client のみを含める必要があります)。ただし、フラグapplication.xmlを指定することにより 、生成された に jar 依存関係が含まれる可能性があります 。includeInApplicationXml

defaultLibBundleDirパラメータを指定して、すべてのサードパーティ ライブラリのデフォルト バンドル ディレクトリを指定することもでき ます。

jarModuleしかし、あなたの構成には何も表示されません。一部の JAR ライブラリを依存関係として宣言した可能性がありますか? どうか明らかにしてください。

次の投稿も役立つ場合があります。

于 2010-08-03T11:46:57.517 に答える