在上一篇文章中介紹瞭如何利用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>