netbeans(7.4,8.0,8.01,8.02)exec-maven-plugin在pom.xml冲突中无法运行主类

时间:2015-03-09 17:46:04

标签: java maven netbeans exec-maven-plugin

我正在尝试切换到较新版本的Netbeans,目前在7.2上。

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

<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正常工作
  • 在保存时编译已关闭:无更改
  • 缓存已被清除:无变化
  • 项目属性“运行”选项卡具有主类和工作目录 定义

其他信息

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 process -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 home: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并且结果相同,包正在执行且主类没有运行

任何人都有任何想法?或者我可能忽视的东西?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我已经碰到了这一点,并且刚才想出来(我想)。

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