2016-03-08 74 views
1

我试图执行pom.xml其中提到的mainClass但它没有被执行。无法从pom.xml执行mainClass

命令:mvn test -f "path_to_pom.xml\pom.xml"

输出:

[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Project 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @Project --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, 
i.e. build is platform dependent! 
[INFO] Copying 3 resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ Project --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ Project --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, 
i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory D:\Personal\selenium\Project\src\test\resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.3:testCompile (default-testCompile) @Project --- 
[INFO] Changes detected - recompiling the module! 
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. b 
uild is platform dependent! 
[INFO] Compiling 5 source files to D:\Personal\selenium\Project\target\test-classes 
[INFO] 
[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ Project --- 
[WARNING] useSystemClassloader setting has no effect when not forking 
[INFO] Surefire report directory: D:\Personal\selenium\Project\target\surefire-reports 
Running test.java.com.utilities.TestController 
Configuring TestNG with: TestNG652Configurator 
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.295 sec - in t 
est.java.com.utilities.TestController 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 3.138 s 
[INFO] Finished at: 2016-03-08T11:45:54+05:30 
[INFO] Final Memory: 20M/225M 
[INFO] ------------------------------------------------------------------------ 

我试图从蚀IDE执行它,但没有被从那里太执行。

但是,在cmd的maven命令中指定-DmainClass="<className>",正在执行类。

下面是pom.xml的条目:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.2.1</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>java</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <mainClass>test.java.com.utilities.TestController</mainClass> 
    </configuration> 
</plugin> 

我已经做MVN清洁和Maven>更新项目,但它并没有帮助。

问题:可以做些什么其他更改?

+0

请显示完整的pom文件 – khmarbaise

+0

'-DmainClass'不应该工作,命令行属性是'exec.mainClass',你确定吗? –

回答

0

你想在你的testphase期间执行这个类,因此你应该将它添加到你的插件execution。此外,似乎你正在运行一个测试包中的一个类,它可能也需要test classpath才能正确执行。

我会然后采用下列更改您发布的配置:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.2.1</version> 
    <executions> 
     <execution> 
      <phase>test</phase> <!-- ADDED --> 
      <goals> 
       <goal>java</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <mainClass>test.java.com.utilities.TestController</mainClass> 
     <classpathScope>test</classpathScope> <!-- ADDED --> 
    </configuration> 
</plugin> 

注意ADDED元素通过意见突出。

+0

谢谢。它确实像魔术一样工作。谢谢哥们。 – Sagar