首页 > 代码库 > maven 打包可执行jar 问题小结
maven 打包可执行jar 问题小结
最近项目用到maven,完成后要将项目打包成可执行的jar,在网上搜了很多打包方法,但总有个个别问题在那里
pom配置文件增加下面配置,执行mvn clean package
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>Main</mainClass> </manifest> </archive> </configuration> </plugin> </build>
1.打包时提示软件包 org.springframework.context 不存在
因为引用的spring的jar是通过其他的项目引用进来的,所以无法找到。将jar加入引用解决问题
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency>
2.依赖的jar没有引用无法直接使用 ,pom中再增加对应的配置,通过${project.build.directory}/lib将引用的jar打包到项目下的lib文件中
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin>3.这个时候同java -jar 打包好的jar发现还是找不到jar包
把打包到lib下的jar包copy到打包好的jar包同级目录下,重新运行,成功。
注意:要看jar的META-INF/MANIFEST.MF文件里面,一定要有Class-Path和Main-Class,指向对应的文件
Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Created-By: Apache Maven Built-By: zml Build-Jdk: 1.6.0_24 Main-Class: Main Class-Path: spring-jdbc-3.1.1.RELEASE.jar spring-beans-3.1.1.RELEASE.j ar spring-core-3.1.1.RELEASE.jar spring-asm-3.1.1.RELEASE.jar commons -logging-1.1.1.jar spring-tx-3.1.1.RELEASE.jar aopalliance-1.0.jar sp ring-aop-3.1.1.RELEASE.jar spring-context-3.1.1.RELEASE.jar spring-ex pression-3.1.1.RELEASE.jar jackson-mapper-asl-1.9.12.jar jackson-core -asl-1.9.12.jar db2jcc-1.0.jar commons-dbcp-1.4.jar commons-pool-1.5.4.jar<span style="font-family: Arial, Helvetica, sans-serif;"> slf4j-api-1.7.7.jar slf4j-log4j12-1.</span><span style="font-family: Arial, Helvetica, sans-serif;"> 7.7.jar log4j-1.2.17.jar</span>
maven 打包可执行jar 问题小结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。