Maven 不会运行我的项目:无法执行目标 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec
Posted
技术标签:
【中文标题】Maven 不会运行我的项目:无法执行目标 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec【英文标题】:Maven won't run my Project : Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec 【发布时间】:2013-12-03 09:05:45 【问题描述】:我无法运行 Maven Netbeans JavaFX 示例:
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) onproject mavenproject3:
Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
To see the full stack trace of the errors, re-run Maven with the -e
switch. Re-run Maven using the -X switch to enable full debug logging.
我的 POM 看起来像这样:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.huw.almexoffice.client</groupId>
<artifactId>almex-office-client</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Almex Office Client</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mainClass>com.huw.almexoffice.client.MainApp</mainClass>
</properties>
<organization>
<!-- Used as the 'Vendor' for JNLP generation -->
<name>Your Organisation</name>
</organization>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<excludeScope>system</excludeScope>
<excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds>
<outputDirectory>$project.build.directory/classes</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>$java.home/../bin/javafxpackager</executable>
<arguments>
<argument>-createjar</argument>
<argument>-nocss2bin</argument>
<argument>-appclass</argument>
<argument>$mainClass</argument>
<argument>-srcdir</argument>
<argument>$project.build.directory/classes</argument>
<argument>-outdir</argument>
<argument>$project.build.directory</argument>
<argument>-outfile</argument>
<argument>$project.build.finalName.jar</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilerArguments>
<bootclasspath>$sun.boot.class.path$path.separator$java.home/lib/jfxrt.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
</project>
有人知道为什么会这样吗?
如果没有,有谁知道如何通过 Netbeans 使用 -e 或 -X 开关让 Maven 运行?我假设它是通过右键单击 POM 然后运行目标然后在文本字段中输入内容。
【问题讨论】:
您是如何解决这个问题的?我也面临同样的问题,并给出了不适合我的建议。谢谢 【参考方案1】:对我来说,线索是“org.codehaus.mojo:exec-maven-plugin:1.2.1:exec”。 唯一被引用的地方是在 Project Properties=>Actions 下的“Run project”操作中。
当我更改此操作以匹配 HelloFXMLWithMaven 示例项目(在 Netbeans 11.1 中可用)时: “清洁 javafx:运行” 然后执行 Run 目标就可以继续了。
注意,我还必须更新 pom 文件的 javafx-maven-plugin 以匹配示例项目,但我的项目的 mainClass 已更改。
【讨论】:
【参考方案2】:我是 java hibernate 的新手,但我可以解决这个问题,我就是这样做的: 我正在使用hibernate和maven项目。 首先你必须将persistence.xml 放在项目目录下,然后手动添加jdbc。 Maven 无法下载我的依赖项,所以我手动添加了它。 在设计 jdbc 连接的 persistence.xml 中手动添加 ps:我使用 netbeans 祝你好运
【讨论】:
【参考方案3】:重新启动 Netbeans,它解决了我的问题。
【讨论】:
【参考方案4】:我遇到了同样的问题。当我尝试从 IDE 运行项目时,它给了我同样的错误。但是当我尝试从命令提示符运行时,项目运行良好。所以我想到,使程序从 IDE 运行的设置应该有一些问题。
我通过更改一些项目设置解决了这个问题。我跟踪了错误并在我的 pom.xml 文件中找到了以下部分。
<execution>
<id>default-cli</id>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>$java.home/bin/java</executable>
<commandlineArgs>$runfx.args</commandlineArgs>
</configuration>
</execution>
我去了我的项目属性>动作类别>动作:运行项目: 然后我为运行项目操作设置属性如下:
runfx.args=-jar "$project.build.directory/$project.build.finalName.jar"
然后,我重新构建项目并且能够运行该项目。如您所见,IDE(在我的例子中为 Netbeans)无法找到在项目属性中设置的“runfx.args”。
【讨论】:
就我而言,我遇到了 Netbeans 11.1 使用的 maven 插件 (1.5.0) 版本的问题,我不知道在哪里进行更改,您将我引导到正确的位置Project Properties > Actions Categories > Action: Run Project
你是个天才。我希望我能投票一百万次!
@FiruzzZ 你把它改成什么了?
@martinkimani 动作执行目标:运行项目、通过 main() 运行文件以及您可以使用的任何其他动作。 process-classes org.codehaus.mojo:exec-maven-plugin:1.2.1:exec
【参考方案5】:
Netbeans 需要能够索引 maven 存储库。 允许它这样做,然后重试。它给了我同样的错误,在它索引存储库后它运行起来就像一个魅力
【讨论】:
【参考方案6】:我通过右键单击项目解决了这个问题 -> 设置为主项目。
【讨论】:
【参考方案7】:-
虽然我这边的代码是可靠的,但这个错误会任意出现并造成相当多的麻烦。
我做了以下事情:
我在 netbeans 上关闭了它。 然后通过单击“打开项目”打开项目,选择我的项目并 只需点击 netbeans 中的运行按钮。我不会构建或清理构建它。希望对您有所帮助。
-
我注意到发生这种情况的另一个原因。如果您将主类移动到另一个包,则会出现相同的错误。在这种情况下,您:
右键单击项目 > 属性 > 运行
通过单击“浏览”并选择正确设置“主类”。
【讨论】:
第二名是我的情况。很好的收获,因为我是初学者,需要很长时间才能发现。【参考方案8】:Maven 需要能够访问各种 Maven 存储库才能将工件下载到本地存储库。如果您的本地系统通过代理主机访问 Internet,您可能需要通过编辑 Maven settings.xml
文件来明确指定 Maven 的代理设置。 Maven 构建会忽略“选项”窗口中设置的 IDE 代理设置。
对于许多常见情况,只需将-Djava.net.useSystemProxies=true
传递给 Maven 就足以通过系统配置的代理下载工件。如果 NetBeans 7.1 检测到可能的代理问题,它将提供为您配置此标志。 https://netbeans.org/bugzilla/show_bug.cgi?id=194916 有讨论。
【讨论】:
【参考方案9】:适用于我的解决方案是: 1. 转到具有 Main 类的模块。 2.右键点击该模块下的pom.xml。 3.选择“运行Maven”->“UpdateSnapshots”
【讨论】:
【参考方案10】:我是 Maven 的初学者 - 对此了解不多。 仔细检查您的输入,即在我的情况下的文件路径。 我仔细检查后,我的文件路径错误,所以导致了这个错误。 修复后,它神奇地起作用了哈哈。
【讨论】:
对我来说也一样。我必须在路径的开头添加一个“/”。【参考方案11】:在 Ubuntu 13.10 x64 上安装 oracle jdk 后遇到同样的问题。
我已经完成了以下步骤,不确定哪一个有帮助。我认为至少需要2个和3个。
-
删除 Netbeans 7.4 并从 oracle 站点重新安装。
已安装可能与项目相关的 maven、ant 和 java 插件。
已删除 .nbproject 文件夹 - 之后该项目被视为 maven 项目。
另外,在那之后,我发现项目运行了,但退出代码为 1,因为我没有为其提供命令行参数。建造者认为这是一个错误。所以,仔细看看输出,看看程序是否真的启动了。
【讨论】:
【参考方案12】:遇到同样的问题,我通过更改解决了这个问题 $java.home/../bin/javafxpackager 到 $java.home/bin/javafxpackager
【讨论】:
这对我不起作用。同样的错误,即使在清理和构建之后也是如此。 我开始工作了:我必须将.exe
添加到原始位置,使其变为:$java.home/../bin/javafxpackager.exe
【参考方案13】:
尝试从命令行运行 Maven 或在文本字段中键入“-X”——这样你不能破坏任何东西,最坏的情况是,你会得到一个错误(我没有 Netbeans;在Eclipse,有一个复选框“调试”)。
在启用调试输出的情况下运行时,您应该会看到 exec-maven-plugin 插件使用的路径。
下一步是将命令复制到命令提示符或终端中,然后手动执行它,看看那里是否会收到有用的错误消息。
【讨论】:
【参考方案14】:发生了什么事?您还没有显示很多能够决定的输出。如果您使用的是 netbeans 7.4,请尝试禁用 Compile on Save。
要启用调试输出,请从项目弹出窗口中运行“自定义”>“目标...”操作,或者在运行常规构建后,单击输出工具栏中的“使用选项重新运行”操作
【讨论】:
我仍然无法让它显示任何体面的输出。你觉得这跟bin下找不到javafxpackager有关系吗? 是可能的。我已经共同研究了 javafx 的原型,老实说,没有处理 javafx 执行的好方法(除非有一个我不知道的插件) javafx 人们不断改变东西,并没有费心去简单运行 javafx 应用程序的方法。 在 NetBeans 8.2 上有同样的问题。 Disabling Compile on Save 终于解决了。以上是关于Maven 不会运行我的项目:无法执行目标 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec的主要内容,如果未能解决你的问题,请参考以下文章
Maven 构建编译错误:无法在项目 Maven 上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-c
无法在项目上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile (default-testCompile)
构建项目时出现错误,无法执行目标 org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar (attach-javadocs)
无法在项目 fhirql 上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile):致命
未能执行目标 org.apache.maven.plugins:maven-enforcer-plugin
无法在项目上执行目标 org.apache.maven.plugins:maven-compiler-plugin (default-compile):致命错误编译:未找到 tools.jar