EARでEJBを構築しようとしています。私のEJBはSNAPSHOTSに依存しています。したがって、EARを構築すると、構造は次のようになります。
my-ear-1.0.0-SNAPSHOT.ear
+ META-INF
- application.xml
- MANIFEST.MF
- my-ejb-1.0.0-SNAPSHOT.jar
- third-party-lib-1.0.0-SNAPSHOT.jar
ただし、maven-ejb-pluginを使用してMANIFEST.MFを生成する場合:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.3</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
私が抱えている問題は、MANIFEST.MFがスナップショットをNexusでの表示方法としてリストしていることです。これは、耳を構築するときにmaven-ear-pluginが名前を付けた方法ではありません。
Manifest-Version: 1.0
Build-Jdk: 1.6.0_25
Class-Path: third-party-lib-1.0.0-20121026.140152-21.jar
もちろん、EJBのクラスパスが存在しないjarファイルを探しているため、 ClassNotFoundExceptionが発生します。
基本的に私はどちらかを知る必要があります:
- -SNAPSHOT形式を使用せずに、maven-ear-pluginでjarファイルを耳に取り込むにはどうすればよいですか?
- maven-ejb-pluginでMANIFEST.MFの-SNAPSHOT形式を使用するにはどうすればよいですか?