Maven不会运行我的项目:无法执行目标org.codehaus.mojo:exec-maven-plugin:1.2.1:exec

时间:2013-11-19 17:19:06

标签: java maven netbeans maven-2 javafx

我无法运行Maven Netbeans JavaFX示例:

  
    

无法执行目标org.codehaus.mojo:exec-maven-plugin:1.2.1:exec(default-cli)on     project mavenproject3:命令执行失败。流程退出     错误:1(退出值:1) - > [帮助1]

  
     

要查看错误的完整堆栈跟踪,请使用-e重新运行Maven   开关。使用-X开关重新运行Maven以启用完整的调试日志记录。

我的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>

有谁知道为什么会这样?

如果没有,有没有人知道如何通过Netbeans使用-e或-X开关运行Maven?我假设是通过右键单击POM然后运行目标然后在文本字段中输入内容。

14 个答案:

答案 0 :(得分:4)

  1. 这个错误会随意出现并造成相当多的麻烦,尽管我的代码是可靠的。
  2. 我做了以下事情:

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

    我不会构建或清理构建它。希望能帮到你。

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

答案 1 :(得分:1)

  1. 发生了什么事?你没有显示出能够决定的大部分输出。如果您使用的是netbeans 7.4,请尝试在保存时禁用编译。

  2. 启用调试输出,运行Custom&gt;目标...来自项目弹出窗口或运行常规构建后的操作,单击输出工具栏中的“重新运行选项”操作

答案 2 :(得分:1)

出现同样的问题,我通过改变来解决这个问题  $ {java.home} /../斌/的javafxpackager 至 $ {java.home} /斌/的javafxpackager

答案 3 :(得分:1)

在Ubuntu 13.10 x64上安装oracle jdk后出现同样的问题。

我已经完成了以下步骤,不确定哪一个有帮助。我认为至少需要2和3个。

  1. 删除了Netbeans 7.4并从oracle网站重新安装。
  2. 安装了可能与项目相关的maven,ant和java的插件。
  3. 删除.nbproject文件夹 - 之后该项目被视为maven项目。
  4. 此外,在那之后,我发现该项目运行,但退出时使用退出代码1,因为我没有为它提供命令行参数。而建造者认为这是一个错误。因此,仔细查看输出并查看程序是否实际启动。

答案 4 :(得分:1)

我是Maven的初学者 - 对此并不了解。 仔细检查您的输入,即我的案例中的文件路径。 仔细检查后,我的文件路径错误,导致此错误。 在我修好之后,它神奇地工作了。

答案 5 :(得分:1)

在我的案例中有效的解决方案是:
1.转到具有Main类的模块 2.右键单击此模块下的pom.xml 3.选择“Run Maven” - &gt; “UpdateSnapshots”

答案 6 :(得分:1)

Maven需要能够访问各种Maven存储库,以便将工件下载到本地存储库。如果本地系统通过代理主机访问Internet,则可能需要通过编辑Maven dragPan: false文件显式指定Maven的代理设置。 Maven构建忽略在“选项”窗口中设置的IDE代理设置。 对于许多常见情况,只需将settings.xml传递给Maven就足以通过系统配置的代理下载工件。如果检测到可能的代理问题,NetBeans 7.1将为您配置此标志。 https://netbeans.org/bugzilla/show_bug.cgi?id=194916进行了讨论。

答案 7 :(得分:1)

我通过右键单击项目解决了这个问题 - &gt;设为主项目。

答案 8 :(得分:1)

Netbeans需要能够为maven存储库编制索引。允许它执行此操作并重试。它给了我同样的错误,在它为存储库编制索引后,它就像一个魅力

答案 9 :(得分:1)

我遇到了同样的问题。当我尝试从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>

我去了我的项目属性&gt;行动类别&gt;行动:运行项目: 然后我按如下方式设置运行项目操作的属性:

runfx.args=-jar "${project.build.directory}/${project.build.finalName}.jar"

然后,我重建了项目,并且我能够运行项目。正如您所看到的,IDE(在我的情况下是Netbeans)无法找到&#39; runfx.args&#39;在项目属性中设置。

答案 10 :(得分:1)

  

重新启动Netbeans,它解决了我的问题。

答案 11 :(得分:0)

尝试从命令行运行Maven或输入&#34; -X&#34;在文本字段中 - 你不能以这种方式破坏任何东西,最糟糕的是,你会得到一个错误(我没有Netbeans;在Eclipse中,有一个复选框&#34; Debug& #34;为此)。

在启用调试输出的情况下运行时,您应该看到exec-maven-plugin插件使用的路径。

然后,下一步是将命令复制到命令提示符或终端并手动执行,以查看是否在那里收到有用的错误消息。

答案 12 :(得分:0)

我是java休眠的新手,但我可以解决此问题,这是我的方法: 我正在休眠和Maven项目。 首先,您必须将persistence.xml放在项目目录下,然后手动添加jdbc。 Maven无法下载我的依赖项,因此我手动添加了它。 在设计jdbc连接中的persistence.xml中,手动将其添加ps:我与netbeans一起运气很好

答案 13 :(得分:0)

对我来说,线索是“ org.codehaus.mojo:exec-maven-plugin:1.2.1:exec”。
唯一引用此位置的地方是Project Properties => Actions下的“运行项目”操作。

当我更改此操作以匹配HelloFXMLWithMaven示例项目(在Netbeans 11.1中可用)时: “干净的javafx:运行” 然后执行“运行”目标就可以继续进行。

请注意,我还必须更新pom文件的javafx-maven-plugin以匹配示例项目,但我的项目已更改了mainClass。