【问题标题】:Maven won't run my Project : Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:execMaven 不会运行我的项目:无法执行目标 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 然后运行目标然后在文本字段中输入内容。

【问题讨论】:

  • 您是如何解决这个问题的?我也面临同样的问题,并给出了不适合我的建议。谢谢

标签: java maven netbeans maven-2 javafx


【解决方案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】:
            1. 虽然我这边的代码是可靠的,但这个错误会任意出现并造成相当多的麻烦。

            我做了以下事情:

            • 我在 netbeans 上关闭了它。
            • 然后通过单击“打开项目”打开项目,选择我的项目并
            • 只需点击 netbeans 中的运行按钮。

            我不会构建或清理构建它。希望对您有所帮助。

            1. 我注意到发生这种情况的另一个原因。如果您将主类移动到另一个包,则会出现相同的错误。在这种情况下,您:
              • 右键单击项目 > 属性 > 运行
              • 通过单击“浏览”并选择正确设置“主类”。

            【讨论】:

            • 第二名是我的情况。很好的收获,因为我是初学者,需要很长时间才能发现。
            【解决方案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个。

                1. 删除 Netbeans 7.4 并从 oracle 站点重新安装。
                2. 已安装可能与项目相关的 maven、ant 和 java 插件。
                3. 已删除 .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】:
                    1. 发生了什么事?您还没有显示很多能够决定的输出。如果您使用的是 netbeans 7.4,请尝试禁用 Compile on Save。

                    2. 要启用调试输出,请从项目弹出窗口中运行“自定义”>“目标...”操作,或者在运行常规构建后,单击输出工具栏中的“使用选项重新运行”操作

                    【讨论】:

                    • 我仍然无法让它显示任何体面的输出。你觉得这跟bin下找不到javafxpackager有关系吗?
                    • 是可能的。我已经共同研究了 javafx 的原型,老实说,没有处理 javafx 执行的好方法(除非有一个我不知道的插件) javafx 人们不断改变东西,并没有费心去简单运行 javafx 应用程序的方法。
                    • 在 NetBeans 8.2 上有同样的问题。 Disabling Compile on Save 终于解决了。
                    猜你喜欢
                    • 2016-11-24
                    • 2014-03-10
                    • 1970-01-01
                    • 1970-01-01
                    • 2014-01-25
                    • 1970-01-01
                    • 1970-01-01
                    • 2013-09-07
                    • 1970-01-01
                    相关资源
                    最近更新 更多