我正在尝试切换到较新版本的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>
其他信息
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并且结果相同,包正在执行且主类没有运行
任何人都有任何想法?或者我可能忽视的东西?
答案 0 :(得分:0)
是的,Run命令将传递-D变量来设置可执行文件(java.exe),但是你在pom中的配置获胜。
尝试在执行元素中移动配置 - &gt;可执行文件,这样您的配置对于该执行是私有的,并且cmd行应该能够再次注入不同的值。
答案 1 :(得分:0)
我已经碰到了这一点,并且刚才想出来(我想)。
问题是%classpath - 它没有被实际的类路径替换。当我将这些语句粘贴到CMD窗口(每行一个,适当地替换\ escape chars),并用我的jar文件名(target / Mapping-1.0-SNAPSHOT.jar)替换%classpath时,它运行:)