2017-07-23 22 views
0

我得到了一個包含pom.xml的根文件夾的項目,並且在同一個根目錄下是所有例子'/ examples/src/main/java/org/apache/examples'的子文件夾。如何使用MVN運行包含Main的特定java文件?

該文件夾裏面有20個'.java'文件。我想只從該文件夾運行example9.java。

爲了運行示例(並確保所有依賴關係已正確導入),應從命令行運行哪個MVN命令(例如從根目錄或子文件夾)?

+0

可以運行只有一個是包含「公共靜態無效的主要(字符串[])」 – efekctive

+0

所有20個.java文件包含「公衆一個static void main(String [])「。 – Joe

+0

mvn exec:java -Dexec.mainClass =「..../example9」。如果這個工程,我會張貼它作爲一個答案 – efekctive

回答

0
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>stack</groupId> 
    <artifactId>overflow</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <version>1.6.0</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <executable>maven</executable> 
      <!-- optional --> 
      <workingDirectory>/tmp</workingDirectory> 
      <arguments> 
      <argument>-X</argument> 
      <argument>myproject:dist</argument> 
      ... 
      </arguments> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

這個pom。

package stack.overflow; 

public class Main1 { 

    public static void main(String[] args) { 
     System.out.println("Main1"); 
    } 

} 

package stack.overflow; 

public class Main2 { 

    public static void main(String[] args) { 
     System.out.println("Main2"); 
    } 

} 

,標準目錄結構下,這兩個類(可以使用Eclipse創建沒有原型Maven項目)

而這個命令,從dir其中的pom.xml的是

mvn exec:java -Dexec.mainClass="stack.overflow.Main2" 

會做的伎倆爲您

希望這有助於

編輯

您將需要MVN運行編譯第一

相關問題