0

我正在尝试切换到当前为 7.2 的较新版本的 Netbeans。

项目 maven pom.xml 文件包含一个 exec-maven-plugin (如下所示),当尝试通过 netbeans 运行项目时,它执行以下而不是运行主类,这发生在具有该项目的任何主方法的任何类上

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
    <execution>
        <phase>package</phase>
        <goals>
            <goal>exec</goal>
        </goals>
    </execution>
</executions>
<configuration>
    <executable>.\src\main\assembly\exe\edit_icons.bat</executable>
</configuration>
</plugin>
  • 删除上述插件将导致 RUN 正常工作
  • 保存时编译关闭:没有变化
  • 缓存已被清除:没有变化
  • 项目属性 Run 选项卡定义了一个主类和工作目录

附加信息

cd C:\Developer\workspaces\advancemobility\source\app-office;"JAVA_HOME=C:\Program Files\Java\jdk1.7.0_51" M2_HOME=C:\Developer\sdk\apache-maven-3.0 cmd /c "\"\"C:\Developer\sdk\apache-maven-3.0 \bin\mvn.bat\" -Dexec.args=\"-classpath %classpath ${packageClassName}\" -Dexec.executable=\"C:\Program Files\Java\jdk1.7.0_51\bin\java.exe \" -DskipTests=true -Dmaven.ext.class.path=\"C:\Program Files\NetBeans 7.4\java\maven-nblib\netbeans-eventspy.jar\" --offline --debug -o -X 进程-classes org.codehaus.mojo:exec-maven-plugin:1.2.1:exec\""

Apache Maven 3.0 (r1004208; 2010-10-04 13:50:56+0200)
Java 版本:1.7.0_51
Java 主页:C:\Program Files\Java\jdk1.7.0_51\jre
默认语言环境:en_ZA,平台编码: cp1252
操作系统名称:“windows 7”版本:“6.1”arch:“amd64”系列:“windows”

我已经尝试过 netbeans 7.4、8.0、8.01、8.02 并且都以相同的结果结束,正在执行一个包并且没有运行主类

有人有想法么?还是我可能忽略的东西?

4

2 回答 2

0

是的,运行命令将传递 -D 变量来设置可执行文件(java.exe),但你在 pom 中的配置会获胜。

尝试在执行元素内移动您的配置->可执行文件,这样您的配置对于该执行是私有的,并且 cmd 行应该能够再次注入不同的值。

于 2015-03-09T22:53:17.893 回答
0

我遇到了这个问题,并且刚刚弄清楚(我认为)。

问题是 %classpath - 它没有被实际的类路径取代。当我将这些语句粘贴到 CMD 窗口中时(每行一个,适当替换 \ 转义字符),并用我的 jar 文件名(target/Mapping-1.0-SNAPSHOT.jar)替换 %classpath 它运行:)

于 2015-06-08T04:29:31.743 回答