Dee*_*ews 3 ear ejb manifest.mf java-ee maven
我正在尝试在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
Run Code Online (Sandbox Code Playgroud)
但是,在使用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>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是MANIFEST.MF列出了SNAPSHOT在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
Run Code Online (Sandbox Code Playgroud)
所以我当然得到ClassNotFoundException,因为EJB类路径正在寻找一个不存在的jar文件.
基本上我需要知道:
Dee*_*ews 10
我通过查看Maven Archiver - 处理快照中的maven归档文档找到了我的问题的解决方案.
我只需要配置我的maven-ejb-plugin,以便它不使用"唯一版本":
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.3</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<useUniqueVersions>false</useUniqueVersions>
</manifest>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
RTFM下次更接近我猜:)
| 归档时间: |
|
| 查看次数: |
2592 次 |
| 最近记录: |