在上一篇文章中介绍了如何利用maven构建可执行jar包,但是如果还依赖了pom中定义的dependency之外的外部jar包,maven-jar-plugin不会把这些jar包的依赖信息放在MANIFEST中,这会导致jar包运行时出现找不到指定类的错误。
那么如何把这些外部jar包的依赖也添加到MANIFEST的classpath中呢?
其实只需要几行配置即可:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifestEntries>
<Class-Path>lib/HQCMiddleware.jar lib/hqjccext.jar</Class-Path>
</manifestEntries>
<manifest>
<mainClass>com.sq.platform.dataMigration.service.main.LoadLocalDataMain</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
<classesDirectory>
</classesDirectory>
</configuration>
</plugin>