2012-07-11 33 views
0

我有一個項目,我可以用mvn clean install成功構建。我也可以使用mvn exec:java command由POM完全限定「mainClass」來執行包含在src/COM/myCompany的/ myproject的/文件夾中的腳本:如何使用Maven在當前(頂級)目錄中執行文件?

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <configuration> 
     <mainClass>com.mycompany.myproject.MyMainClass</mainClass> 
    </configuration> 
</plugin> 

但我想執行包含在一個腳本項目頂層文件夾,即包含pom.xml文件的相同文件夾。這個類是一個示例應用程序,它演示了正在構建的項目的功能,實際上並不是項目本身的一部分,這就是爲什麼它不包含在src/com/mycompany/myproject中的原因。如果我只輸入主類別<mainClass>MyClassInCurrentFolder</mainClass>,那麼它找不到它。

我想我可以創建一個完全獨立的Maven項目,它只包含src/com/mycompany/myproject /下的這個類,並且使用另一個項目作爲依賴項。但我寧願不這樣做,畢竟這只是一個非常簡單的演示應用程序。

關於如何使用Maven在頂層文件夾中執行此文件的任何想法?

+0

如果您知道要執行的Java類的確切位置,則可以使用exec:exec。 – 2012-07-12 05:57:29

+0

你說你想運行一個「腳本」,但最後你說你正在嘗試執行一個java類。你能否讓你的問題更清楚? – 2012-07-12 08:48:57

回答

0

我建議您使用一個單獨的模塊,就像您自己提到的那樣,因爲它是分離真實代碼和演示的最佳方法。這將使Demo的使用變得更簡單,併爲Demo模塊進行配置。

+0

這就是我最終做的。我考慮的另一種選擇是通過將演示應用程序添加到項目src樹中,並將其包含在項目包中來使演示應用程序成爲其中的一部分。但對我來說這似乎不那麼幹淨,而且將這種分離方式在將來可以提供更大的靈活性,您可能是正確的。 – mindthief 2012-11-01 20:05:01

相關問題