2010-09-07 97 views
0

我想從命令行運行一些類,它們位於Maven'test'文件夾中,我將稍後將結合在一起運行在ksh腳本中。如何從命令行的Maven測試文件夾運行單個類?

我遇到的問題是,我可以運行'主'文件夾中的文件,但我想運行'測試'文件夾中的另一個文件。

有誰知道,或有任何想法如何做到這一點?

歡呼聲。

回答

0

測試文件夾保留給單元測試。您可以使用以下命令啓動單個單元測試:

$ mvn install -Dtest=ClassName 

請注意,ClassName不包含軟件包名稱。

如果你想啓動一個包含main方法的類,你的類需要位於主文件夾中。

+0

有趣。我想運行一個我不想在主文件夾中但不被識別爲測試的類,因爲在類中沒有@Test註釋,並且沒有理由讓它具有這些,但是我會喜歡將它作爲獨立運行並使用它從Maven引用的代碼的當前版本,而不是將它打包成JAR並以此方式運行。有什麼建議麼?? – matt2010 2010-09-07 13:59:34

+0

@ matt2010,看看[exec-maven-plugin](http://mojo.codehaus.org/exec-maven-plugin/) – 2010-09-07 14:04:47

0

我已經看到這個現在,我想知道這些是否是正確的事情使用?

<configuration> 
      .. 
     <classpathScope>test</classpathScope> 
      ... 
</configuration> 

OR:

mvn exec:exec [...] -Dexec.classpathScope="java" 

我能以 「test」 取代的 「Java」,我可以重複使用exec:java的替代或者exec:EXEC?

+0

你試過這些嗎? 'mvn exec:java -Dexec.mainClass = your.class.name'應該可以工作,我經常使用它。如果你需要包含超出通常範圍的依賴關係,那麼你可以添加'-Dexec.classPathScope =你需要的任何範圍。 – 2010-09-07 17:31:46

相關問題