【问题标题】:How do i run a single class from the test folder of Maven from the command line?如何从命令行从 Maven 的测试文件夹中运行单个类?
【发布时间】:2011-04-09 05:15:44
【问题描述】:

我正在尝试从命令行运行一些驻留在 Maven 'test' 文件夹中的类,稍后我将结合这些类在 ksh 脚本中运行。

我遇到的问题是我可以运行“主”文件夹中的文件,但我想运行“测试”文件夹中的另一个文件。

有没有人知道,或者有任何想法如何做到这一点???

干杯。

【问题讨论】:

    标签: java scripting maven-2 ksh


    【解决方案1】:

    测试文件夹是为单元测试保留的。您可以使用以下命令启动单个单元测试:

    $ mvn install -Dtest=ClassName
    

    请注意,ClassName 不包括包名。

    如果你想启动一个包含 main 方法的类,你的类需要在主文件夹中。

    【讨论】:

    • 有趣。我想运行一个我不想在主文件夹中但不被识别为测试的类,因为类本身没有 @Test 注释并且没有理由让它拥有这些但我会喜欢将它作为独立运行并使用它从 Maven 引用的代码的当前版本,而不是仅仅将其打包到 JAR 中并以这种方式运行。有什么建议吗??
    • @matt2010,看看exec-maven-plugin
    【解决方案2】:

    我现在已经看到了,我想知道这些是否适合使用??

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

    或者:

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

    我可以用“Test”替换“java”吗?我可以用 exec:java 代替还是 exec:exec??

    【讨论】:

    • 你试过这些吗? mvn exec:java -Dexec.mainClass=your.class.name 应该可以,我经常使用它。如果您需要包含通常范围之外的依赖项,则可以添加 -Dexec.classPathScope=whatever-scope-you-need
    猜你喜欢
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 2021-08-07
    • 2012-03-06
    • 2015-08-02
    • 2011-04-25
    相关资源
    最近更新 更多