maven 打包可執行jar 問題小結

來源:互聯網
上載者:User

標籤: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.0Archiver-Version: Plexus ArchiverCreated-By: Apache MavenBuilt-By: zmlBuild-Jdk: 1.6.0_24Main-Class: MainClass-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個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.