如何在没有先构建的情况下在netbeans中运行maven项目/主类?

时间:2012-02-02 17:04:24

标签: java netbeans maven

我在最新版本的Netbeans中有一个maven项目,但是由于我的环境/ maven设置存在未确定的问题,我必须使用gmake从命令行构建项目,因为使用mvn clean install构建了大量的错误。

所以,当我使用netbeans来运行项目/主类时,我想知道我是从命令行构建的,如何在没有首先构建/编译的情况下运行它 - 即每次我点击右键主要类和选择运行文件 - 它会说 - '建立...' - 我可以在不构建/编译的情况下运行文件吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

找不到在Netbeans中运行此方法的方法,但作为一种解决方法是使用以下命令行运行项目:

mvn exec:java -Dexec.mainClass =“com.rory.djgx.server.Main”

只需确保在编译类(.class)的根目录中执行此操作,例如: com / rory / djgx并且pom.xml位于此根目录中。

答案 1 :(得分:2)

如果您只想运行Build / Compile,可以选择使用Build Phases的所有功能,如验证,构建,测试,打包,集成,测试,验证,安装或部署。要做到这一点,你必须:

- 右键单击​​项目 - >自定义 - >目标......

- 在目标中,您可以选择更具体的选项来构建您想要的任何内容,例如编译,部署等......

答案 2 :(得分:1)

也许为时已晚,但是我今天在NetBeans 11中遇到了同样的问题。

您可以通过右键单击给定项目并在弹出菜单底部选择“ 属性”来进行配置。您需要选择“ 操作”类别,然后选择“ 通过main()运行文件”操作。

原始属性

执行目标

process-classes org.codehaus.mojo:exec-maven-plugin:1.5.0:exec

设置属性

exec.args=-classpath %classpath ${packageClassName}
exec.executable=java
exec.classpathScope=${classPathScope}

您需要同时更改它们

执行目标

process-classes org.codehaus.mojo:exec-maven-plugin:1.6.0:java

设置属性

exec.mainClass=${packageClassName}
exec.cleanupDaemonThreads=false
exec.classpathScope=compile

我还将maven-exec-plugin的版本(以及执行的目标)更改为1.6.0

使用“确定”按钮保存新配置后,可以右键单击已编辑的Java文件并选择“运行文件”,然后将执行公共静态void main(String [] args)方法。

我还附上了NetBeans屏幕以供参考:

enter image description here