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 &gt; Actions Categories &gt; 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