所以我使用的是WAS8.5,我需要在我的项目中包含WAS库。我试过这个......
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Class-Path>C:\Program Files (x86)\IBM\WebSphere\AppServer\plugins</Class-Path>
<Class-Path>C:\Program Files (x86)\IBM\WebSphere\AppServer\java\jre\lib</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
但我仍然看到......
错误:包javax.jms不存在
...尽管
二进制文件./plugins/javax.j2ee.jms.jar匹配
但这似乎对mvn包没有用,所以我的问题有点像2折
1。)我应该使用mvn包还是mvn jar:jar,因为后者似乎没有识别我的类的存储位置。如果我应该使用jar,我如何包含源目录。
2。)如果我正在使用包,我如何在类路径中包含该文件夹?
答案 0 :(得分:1)
我猜你在谈论编译时问题而不是运行时问题。清单信息用于运行时,并且您正确配置它的方式使它仅对您的系统有用。 Apache Maven是关于可预测的构建,这意味着您必须定义每个依赖项而不是定义库文件夹。 您应该将所需的jar“安装”到本地存储库(install实际上是一个副本)。 见http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
答案 1 :(得分:0)
我发现自动化构建而不是用命令行打扰的最佳解决方案是使用maven-install-plugin从我的pom.xml安装:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>proguard</id>
<inherited>false</inherited>
<phase>validate</phase>
<configuration>
<file>${pom.basedir}/lib/proguard-4.8.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard</artifactId>
<version>4.8</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</plugin>
所以我将我的jar放入$ PROJECT_HOME / lib文件夹并将此执行添加到验证阶段,以便在每个maven执行时安装它。
这是很多文本,但它完全自动化了其他机器上的构建。