Ash*_*rma 5 java executable-jar pom.xml maven
我通过以下pom.xml指令为我的Java jar创建一个清单文件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>parser.BulkParser</mainClass>
<classpathPrefix>dependency/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
这导致生成以下类型的清单:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: shaashis
Build-Jdk: 1.6.0_21
Main-Class: parser.BulkParser
Class-Path: dependency/commons-configuration-1.6.jar dependency/commons-collections-3.2.1.jar dependency/commons-lang-2.4.jar
Run Code Online (Sandbox Code Playgroud)
在这里,我想在Class-Path中添加以下类型的字符串:
Class-Path: conf/ dependency/commons-configuration-1.6.jar dependency/commons-collections-3.2.1.jar dependency/commons-lang-2.4.jar
Run Code Online (Sandbox Code Playgroud)
我怎么能通过我的pom.xml做到这一点?
谢谢
阿希什
Mic*_*l-O 14
改变类路径:使用自定义类路径格式是要走的路.
编辑:以上并不完全符合要求.通过检查Archiver源代码,我找到了一种方法来实现这一点.这样做(刚刚在shell中验证):
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Class-Path>conf/</Class-Path>
</manifestEntries>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
修改我的pom.xml如下,以获得我的问题的正确解决方案:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>parser.BulkParser</mainClass>
<classpathPrefix>dependency/</classpathPrefix>
</manifest>
<manifestEntries>
<Class-Path>conf/</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
这导致在我想要的清单文件中生成'Class-Path'的值.
参考文献:
| 归档时间: |
|
| 查看次数: |
16091 次 |
| 最近记录: |