java - 无法从 pom.xml 执行 mainClass

标签 java eclipse maven pom.xml exec-maven-plugin

我正在尝试执行pom.xmlmainClass其中提到但没有被执行。

命令: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] ------------------------------------------------------------------------

我尝试从 eclipse IDE 执行它,但也没有从那里执行。

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

下面是 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 clean 和 Maven > 更新项目,但没有帮助。

问题:我还可以做哪些其他更改来使这项工作正常进行?

最佳答案

您想要在测试期间执行该类 phase ,因此您应该将其添加到您的插件执行中。此外,您似乎正在运行测试包中的一个类,它可能还需要 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元素。

关于java - 无法从 pom.xml 执行 mainClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35860654/

相关文章:

java - 识别java中的空格

java - 如何从 Maven 项目外部链接源并使用该链接源进行进一步开发。

java - ValidateJarFile(D :\path\) - jar not loaded. 请参阅 Servlet 规范 3.0,第 10.7.2 节。违规类 : javax/servlet/Servlet. 类

java - "Image not valid, but TextSearch is switched off!"错误 - Mac 上的 Sikuli

java - 如何使用嵌入式 Jetty 打包和部署 Web 应用程序

java - maven-replacer-plugin 提供了奇怪的扩展输出

java - 使用名称作为 RPG 的字符串变量创建对象

java - 实现加载/保存首选项集的 'profiles'?

java - 如何在 Eclipse 中配置 Java 注释处理器?

Maven 错误 - 包 org.junit 不存在