如何通过maven-jar-plugin在Class-Path前添加当前目录(.)?
如何通过maven-jar-plugin在Class-Path中添加当前目录(.)
你当前的maven-jar-plugin配置生成的Manifest文件中,Class-Path内容为./lib/spring-2.0.2.jar,但需要将其调整为. ./lib/spring-2.0.2.jar,以把Jar文件所在的同级目录(即当前目录)加入类路径。
解决方法很简单,在现有配置的<manifest>节点下添加<manifestEntries>配置,手动指定Class-Path的初始值为.,maven会自动将依赖生成的lib路径追加到该条目后,最终合并成你需要的格式。
完整配置如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>./lib/</classpathPrefix> <mainClass>com.test.MyServer</mainClass> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> <!-- 手动添加当前目录到Class-Path --> <manifestEntries> <Class-Path>.</Class-Path> </manifestEntries> </manifest> </archive> </configuration> </plugin>
配置生效后,生成的Manifest文件中Class-Path会自动合并为. ./lib/spring-2.0.2.jar,既保留了lib目录下的依赖Jar,又将当前目录加入了类路径,完全符合你的项目结构需求。
内容的提问来源于stack exchange,提问作者user3157090
相关产品推荐
相关产品推荐

