当前位置: 首页 > 面试题库 >

Maven:如何通过传递参数的命令行运行.java文件

云开诚
2023-03-14
问题内容

我有以下问题。我想从命令行运行mvn一个Main.java文件。Main.java接受参数。 如何从命令行执行此操作?

我试图找到一个例子,但没有成功。有人可以帮我举一个例子吗?

我看了这里,但不太明白该怎么办。

另外, 如何从与Main.java文件夹不同的文件夹中执行该命令?

例如Main.java位于my/java/program/Main.java。我应该放什么

mvn exec:java -Dexec.mainClass="what to put here?" -Dexec.args="arg0 arg1 arg2"

问题答案:

您可以运行:mvn exec:exec -Dexec.args="arg1"

这会将参数 arg1 传递给您的程序。

您应该指定完全合格的主类,例如,在包测试中的Main.java将需要

mvn exec:java  -Dexec.mainClass=test.Main

通过使用此处描述的-f参数,您还可以从其他目录运行它。

mvn exec:java -Dexec.mainClass=test.Main -f folder/pom.xm

对于多个参数,只需像在命令行中那样用空格分隔即可。

mvn exec:java -Dexec.mainClass=test.Main -Dexec.args="arg1 arg2 arg3"

对于以分隔的参数space,可以'argument separated with space' 在引号内使用进行分组。

mvn exec:java -Dexec.mainClass=test.Main -Dexec.args="'argument separated with space' 'another one'"


 类似资料:
  • 我需要根据Spring Boot Maven应用程序中的环境细节激活配置文件。我在设置中配置了配置文件。xml 我尝试通过激活配置文件使用命令 但是配置文件没有正确激活。但是它是通过添加标签来工作的。 但是我需要激活特定环境的配置文件 我们可以通过任何方式将参数传递给设置中的。xml文件?类似于此 参考: 如何从命令行激活配置文件? 通过Maven在SpringBoot中配置活动配置文件 http

  • 在通过Maven运行时,我需要传递给Karate的附加设置可以在karate-config.js中获得。目前,我可以使用karate.env属性传入一个字符串--是否需要将参数编码为JSON对象并通过这个属性传入,或者我可以做如下操作: 我肯定我错过了一些明显的东西...

  • 我有使用命令模式封装在差异命令上功能。 谢了。

  • 问题内容: 我正在编写一个maven插件,该插件必须使用特定的VM参数来初始化另一个Java项目。根据exec:java的介绍,它们仅接受参数,而不接受VMarguments,因此我的问题是如何从命令行启动具有特定VMarguments的Java项目?谢谢 问题答案: 如果使用Maven的exec:java插件,则无法提供额外的VM参数,因为它在同一VM中运行(即,它已经被初始化)。您将需要使用e

  • 问题内容: 我已经编写了以下代码,但还不太清楚如何解决该错误。不知道这些信息是否有用,但是我使用的是Mac,并且使用的是IntelliJ编辑器。 结果是“线程“主”中的异常java.io.IOException:无法运行程序“ adb”:error = 2,没有这样的文件或目录” 但是,当我从终端运行命令“ adb devicees”时,将获得连接到计算机的设备列表。 对于那些感兴趣的人,以下是完

  • 我在Eclipse中工作。 我的Maven程序有一个pom。带有exec插件的xml文件: 我试图传递一个参数,但仍然出现错误: 未知的生命周期阶段“..\src\test\resources\file.txt”。您必须以以下格式指定有效的生命周期阶段或目标:或:[:]。可用的生命周期阶段包括:验证、初始化、生成源、流程源、生成资源、流程资源、编译、流程类、生成测试源、流程测试源、生成测试资源、流