【发布时间】:2017-08-20 14:05:31
【问题描述】:
我正在尝试创建一个程序集(即一个可运行的 jar),并且希望将所有外部 jar 以“jar”格式包含在我的程序集中,而不是从外部 jar 中取出类并成为我的“可运行” jar 文件的一部分。 我曾尝试在程序集文件中使用“解包”选项(将其设置为 false),但它会产生其他问题,例如,它不会为我的项目生成 CLASS 文件,更不用说处理外部 jar 文件了。所以我肯定做错了什么。 帮助将不胜感激。 POM 和组装信息如下。 谢谢
这是我的 POM 文件中的一个 sn-p。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/assembly/assemblyinfo.xml</descriptor>
</descriptors>
<archive>
<manifest>
<mainClass>com.company.sample</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
这里是 assemblyinfo.xml
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>FULL</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<unpack>true</unpack>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
</assembly>
【问题讨论】:
-
如果可能的话,你能把答案贴出来吗?
标签: java maven jar maven-assembly-plugin