maven构建可执行jar包
生活随笔
收集整理的這篇文章主要介紹了
maven构建可执行jar包
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 ?將maven構建的工程打成jar包,并使用腳本做定時任務
1.首先將maven搭建的工程打成jar
?
需要在將該工程所支持的類庫打在一個包中(默認情況下,maven在做mvn pakage時,只是將項目編譯打包到一個jar中,其他的類庫則需要引用才行)。
?
在pom.xml中加入以下插件
?
<plugin>
?? ?<artifactId>maven-assembly-plugin</artifactId>
?? ?<configuration>
?? ? ? ?<appendAssemblyId>false</appendAssemblyId>
?? ? ? ?<descriptorRefs>
?? ? ? ? ? ?<descriptorRef>jar-with-dependencies</descriptorRef>
?? ? ? ?</descriptorRefs>
?? ? ? ?<archive>
?? ? ? ? ? ?<manifest>
?? ? ? ? ? ? ? ?<mainClass>cn.vsp.TestMain</mainClass>
?? ? ? ? ? ?</manifest>
?? ? ? ?</archive>
?? ?</configuration>
?? ?<executions>
?? ? ? ?<execution>
?? ? ? ? ? ?<id>make-assembly</id>
?? ? ? ? ? ?<phase>package</phase>
?? ? ? ? ? ?<goals>
?? ? ? ? ? ? ? ?<goal>assembly</goal>
?? ? ? ? ? ?</goals>
?? ? ? ?</execution>
?? ?</executions>
</plugin>
上述代碼中在<mainClass></mainClass>之間是填寫程序的入口類,即含main方法的類
?
2.編輯完上述插件后,再執行
?
mvn assembly:assembly
這是就會在target目錄下生成 ? *.jar 文件
?
3.運行jar文件
?
java -jar *.jar
4.做定時任務
?
如果是在linux系統中做定時任務:
?
第一種方式:可以寫一個shell腳本直接運行該jar文件,shell腳本的編寫可以參考我的linux svn完全備份和定時備份博文
?
第二種方式:
?
sudo crontab -l
*/1 * * * * * ?sudo /usr/bin/java -jar ?*.jar?
上述代碼為每分鐘執行一次,路徑修改為相應的路徑。
二 maven使用制定的java版本,來編譯
可以避免“不支持泛型,請使用 -source 5 或更高版本以啟用泛型)” 這種問題
<plu
1.首先將maven搭建的工程打成jar
?
需要在將該工程所支持的類庫打在一個包中(默認情況下,maven在做mvn pakage時,只是將項目編譯打包到一個jar中,其他的類庫則需要引用才行)。
?
在pom.xml中加入以下插件
?
<plugin>
?? ?<artifactId>maven-assembly-plugin</artifactId>
?? ?<configuration>
?? ? ? ?<appendAssemblyId>false</appendAssemblyId>
?? ? ? ?<descriptorRefs>
?? ? ? ? ? ?<descriptorRef>jar-with-dependencies</descriptorRef>
?? ? ? ?</descriptorRefs>
?? ? ? ?<archive>
?? ? ? ? ? ?<manifest>
?? ? ? ? ? ? ? ?<mainClass>cn.vsp.TestMain</mainClass>
?? ? ? ? ? ?</manifest>
?? ? ? ?</archive>
?? ?</configuration>
?? ?<executions>
?? ? ? ?<execution>
?? ? ? ? ? ?<id>make-assembly</id>
?? ? ? ? ? ?<phase>package</phase>
?? ? ? ? ? ?<goals>
?? ? ? ? ? ? ? ?<goal>assembly</goal>
?? ? ? ? ? ?</goals>
?? ? ? ?</execution>
?? ?</executions>
</plugin>
上述代碼中在<mainClass></mainClass>之間是填寫程序的入口類,即含main方法的類
?
2.編輯完上述插件后,再執行
?
mvn assembly:assembly
這是就會在target目錄下生成 ? *.jar 文件
?
3.運行jar文件
?
java -jar *.jar
4.做定時任務
?
如果是在linux系統中做定時任務:
?
第一種方式:可以寫一個shell腳本直接運行該jar文件,shell腳本的編寫可以參考我的linux svn完全備份和定時備份博文
?
第二種方式:
?
sudo crontab -l
*/1 * * * * * ?sudo /usr/bin/java -jar ?*.jar?
上述代碼為每分鐘執行一次,路徑修改為相應的路徑。
二 maven使用制定的java版本,來編譯
可以避免“不支持泛型,請使用 -source 5 或更高版本以啟用泛型)” 這種問題
?在項目的pom.xml中,添加:
?
<build><plu
總結
以上是生活随笔為你收集整理的maven构建可执行jar包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HD 1253 胜利大逃亡(bfs)
- 下一篇: HD 1525 Euclid's Gam