您可以在一定程度上实现这一目标。
首先,您将通过适当配置maven jar插件来创建可执行jar。
然后,您将使用maven程序集插件来创建具有依赖项的jar,但 不包括项目jar
。为此,您将
src/main/assembly/descriptor.xml像这样创建一个描述符文件,例如。
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> <id>jar-with-dependencies</id> <formats> <format>jar</format> </formats> <includebaseDirectory>false</includebaseDirectory> <dependencySets> <dependencySet> <outputDirectory>/</outputDirectory> <useProjectArtifact>false</useProjectArtifact> <unpack>true</unpack> <scope>runtime</scope> </dependencySet> </dependencySets></assembly>
像这样在您的项目中使用它。
<project> [...] <build> [...] <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2.1</version> <configuration> <descriptors> <descriptor>src/main/assembly/descriptor.xml</descriptor> </descriptors> </configuration> [...] </plugin> </plugins> </build></project>
您将最终得到两个jar,一个是您的项目创建的可执行jar,另一个是Assembly插件创建的具有依赖关系的jar。



