java - 如何在 intellij 中为 maven 命令行项目添加程序参数?

标签 java maven intellij-idea intellij-14

我是 intellij 的新手。我想为我的 maven 命令行应用程序添加程序参数,以便它们可以在 main(String[] args) 方法中使用,例如:-pg 541,它指定了一些要在我的主要功能中触发的方法。

我曾尝试通过直接在命令行部分添加参数来使用 Maven 配置(运行/调试配置)来完成此操作,但没有成功。

我还尝试了运行 Maven 项目的 JUnit,但程序参数部分被禁用。

这是我尝试过的快照。

使用 junit 配置:

using junit configuration

使用 maven 配置:

using maven configuration

最佳答案

JUnit 测试是通过测试运行器框架执行的,您的 main 方法根本不会被 JUnit 调用,因此您不能以这种方式提供程序参数。

要通过 main 方法将参数传递给应用程序,您必须使用 Application Run/Debug configuration输入 IDEA。

如果您想将参数传递给单元测试,请考虑使用 VM Options 字段,例如 -Dparam=value 并且在测试方法中您可以使用 String value = System 读取它.getProperty("参数");

Maven 也支持使用 argLine在一些单元测试插件中。

关于java - 如何在 intellij 中为 maven 命令行项目添加程序参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42274563/

相关文章:

java - 如何使用 Eclipse 为 Maven 项目将字符串外部化为 "resources"?

java - 如何在Intellij/Gradle中创建可运行的.jar文件

java - SonarQube 在 Spring Framework Controller 和 Spring Framework 应用程序主类中显示安全错误

java - 使用 java 使用给定的键解析复杂的 json 和 xml,无需使用 pojo

maven - 如何在子项目中添加更多 Jacoco 排除项?

javascript - Intellij 插件 : AirBnB ESLint w/React

junit - IntelliJ 运行单元测试时出错 : Could not find or load main class ${surefireArgLine}

java - 通过忽略 Java 中开始和结束行的一部分来扫描 HBase 行

java - GWT RegExp - 多个匹配

android - Maven + RoboGuice + ActionBarSherlock + RoboGuice-Sherlock