【发布时间】:2020-03-02 21:18:55
【问题描述】:
我在 Eclipse 中工作。
我的 Maven 程序有一个带有 exec 插件的 pom.xml 文件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${maven.exec.plugin.version}</version>
<configuration>
<arguments>
<argument>src/test/resources/file.txt</argument>
</arguments>
<executable>mvn</executable>
<mainClass>${main.class}</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
我试图传递一个参数,但我仍然收到错误:
未知的生命周期阶段“.\src\test\resources\file.txt”。您必须以 : 或 :[:]: 格式指定有效的生命周期阶段或目标。可用的生命周期阶段有:验证、初始化、生成源、流程源、生成资源、流程资源、编译、流程类、生成测试源、流程测试源、生成测试资源、流程-test-resources、test-compile、process-test-classes、test、prepare-package、package、pre-integration-test、integration-test、post-integration-test、verify、install、deploy、pre-clean、clean ,清理后,站点前,站点,站点后,站点部署。 -> [帮助 1]
我还尝试通过运行方式 -> 运行配置通过 Eclipse 中的命令行参数传递文件。我收到了同样的错误信息。
如何将输入文件参数传递给应用程序?
【问题讨论】:
-
Maven Run Project的可能重复
-
@Joe 我已经查阅了那个帖子。我仍然收到错误消息。
-
你想从 maven 内部运行
mvn吗?看起来您尝试运行的有效命令是mvn .\src\test\resources\file.txt,这不是有效的 mvn 命令行。你到底想跑什么? -
我正在尝试执行该程序。我怎么做?在 Eclipse 运行选项中,我的目标是 exec:exec
-
@Joe 您的评论让我意识到 exec:exec 和 exec:java 之间的区别。就我而言,我确实想要 exec:java。我将运行配置中的目标更改为 exec:java,它起作用了。我能够从我的 pom.xml 中删除
executable和executions标记。它现在正在工作。如果您为此效果创建答案,我会将其标记为正确。
标签: java maven exec-maven-plugin