【问题标题】:How to run a maven project/main class in netbeans without building first?如何在不先构建的情况下在 netbeans 中运行 Maven 项目/主类?
【发布时间】:2012-02-25 08:35:51
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: java netbeans maven


    【解决方案1】:

    没有找到在 Netbeans 中运行它的方法,但作为一种解决方法,我使用以下命令从命令行运行项目:

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

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

    【讨论】:

      【解决方案2】:

      如果您只想运行构建/编译,可以选择使用构建阶段的所有功能,如验证、构建、测试、打包、集成、测试、验证、安装或部署。为此,您必须:

      -右键项目->自定义->目标...

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

      【讨论】:

      • 您能进一步解释一下吗?每次我从 Netbeans 运行 maven 项目时,它都必须先构建。即使没有更改,我也不能只重新运行它。我可以跳过使用您的解决方案进行构建吗?
      【解决方案3】:

      回答可能为时已晚,但我今天在使用 NetBeans 11 时遇到了同样的问题。

      您可以通过右键单击给定项目并在弹出菜单底部选择“Properties”来进行配置。您需要选择“Actions”类别,然后选择“Run file via 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

      使用OK按钮保存新配置后,您可以右键单击编辑的java文件并选择“运行文件”,然后将执行public static void main(String[] args)方法。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-21
        • 2010-12-09
        • 2017-04-09
        • 2010-10-04
        • 1970-01-01
        • 2014-05-12
        • 1970-01-01
        • 2015-02-07
        相关资源
        最近更新 更多