可運行jar包插件,可以使用maven-assembly-plugin
實現自定義打包,也可以使用maven-jar-plugin
、maven-dependency-plugin
,maven-assembly-plugin
實際上也是使用jar
和dependency
,只是assembly
可以自定義打包的內容。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<!-- 如果需要在生成的META-INF/MANIFEST.MF中加入額外的配置,可以使用這個標籤 -->
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
<manifest>
<mainClass>com.p7.demo.Main</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
打包結果:
上面生成lib
包,在agent.jar
中的META-INF/MANIFEST.MF
中有指定classpath
下有哪些依賴。如果使用maven-assembly-plugin
進行打包,可以自定義打包的內容,如下,將agent.jar也打入lib包下,並且修改META-INF/MANIFEST.MF
依賴的路徑