2012-04-11 198 views
3

我有一個maven項目,它依賴於另外2個本地項目和一組第三方jar。我想將jar文件移動到另一臺機器並從那裏運行應用程序。我嘗試了mvn exec:exec命令,但它無法找到2個本地項目,這很有道理。我如何得到這個場景的工作。在其上安裝應用程序的機器上有maven並連接到互聯網,所以如果需要它可以下載pom中提到的罐子。從命令行運行具有依賴關係的maven項目

回答

1

使用Maven-assembly-plugin來創建一個jar-with-dependencies,這將導致執行mvn package創建一個更容易部署的包。

+0

這是** NOT **推薦的方式。即使是Maven程序集插件頁面http://maven.apache.org/plugins/maven-assembly-plugin/也建議使用Maven Shade插件來創建一個包含alll依賴項的Jar – InformedA 2016-12-08 12:34:03

3

我真的不能從上面的答案中瞭解很多。 Maven對我來說看起來很複雜。無論如何,我想通了,如果你這樣做,那麼你的問題將得到解決

首先在pom.xml文件中儼然圖所示

<plugin> 

    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <descriptorRefs> 
     <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
    </configuration> 
</plugin> 

構建中添加該插件我覺得JAR-與依賴性開了竅

現在,按照如下的命令序列從根目錄(其中pom.xml中存在)

mvn compile 
mvn package 
mvn install assembly:assembly 

我不知道是否需要mvn包,但第三個是重要的。 現在,如果你看到你的目標/你會看到一個依賴的jar。

如何運行

java -cp target/Your-Jar-1.0-SNAPSHOT-jar-with-dependencies.jar com.mycode.myapp 

這將運行Java程序代碼com.mycode.myapp主要方法... (免責聲明:我不是行家專家,但這個工作對我來說)

相關問題