繁体   English   中英

Netbeans java maven 项目成功构建,但无法运行

[英]Netbeans java maven project builds sucesfully, but won't run

当我清理和构建时,项目显示“构建成功”,我可以看到在目标文件夹中创建的 .jar 文件,但是当我尝试运行或调试主类时,netbeans 显示“错误:无法找到或加载主类……”? 我可以从命令行运行 .jar 文件。

编辑:这是一个 javaFx 项目。

可能是由于某些原因,您可以尝试以下方法:

  1. 主类未声明为“PUBLIC”。
  2. 正确设置Java 环境路径。
  3. 尝试更改项目的位置。

我已经部分解决了这个问题。 看来netbeans 对javaFX 项目有一些问题。 我发现了几个表明问题的网站。

我能够通过创建一个新的 Maven/JavaFX 应用程序来使其工作,然后我从该项目中获取 nbactions.xml 文件并替换了我项目中的 nbactions.xml。 之后,我可以通过选择主项目节点并使用工具栏上的运行/调试按钮来运行应用程序。 右键单击 Main 类并选择运行或调试仍然不起作用。 感谢@skomisa 提醒我有不止一种方法可以运行一个项目!

这是我复制的有效的 nbactions.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<actions>
  <action>
    <actionName>run</actionName>
    <goals>
      <goal>clean</goal>
      <goal>package</goal>
      <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal>
    </goals>
    <properties>
      <runfx.args>-jar "${project.build.directory}/${project.build.finalName}.jar"</runfx.args>
    </properties>
  </action>
  <action>
    <actionName>debug</actionName>
    <goals>
      <goal>clean</goal>
      <goal>package</goal>
      <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal>
    </goals>
    <properties>
      <runfx.args>-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} -Dglass.disableGrab=true -jar "${project.build.directory}/${project.build.finalName}.jar"</runfx.args>
      <jpda.listen>true</jpda.listen>
    </properties>
  </action>        
</actions>

这是以前无效的 nbactions.xml 文件的示例。 请注意,运行和调试操作的属性有很大不同。

<?xml version="1.0" encoding="UTF-8"?>
<actions>
  <action>
    <actionName>run</actionName>
    <packagings>
      <packaging>jar</packaging>
    </packagings>
    <goals>
      <goal>process-classes</goal>
      <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal>
    </goals>
    <properties>
      <exec.args>-classpath %classpath com.edulog.athenaprobe.MainApp</exec.args>
      <exec.executable>java</exec.executable>
    </properties>
  </action>
  <action>
    <actionName>debug</actionName>
    <packagings>
      <packaging>jar</packaging>
    </packagings>
    <goals>
      <goal>process-classes</goal>
      <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal>
    </goals>
    <properties>
      <exec.args>-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} -classpath %classpath com.edulog.athenaprobe.MainApp</exec.args>
      <exec.executable>java</exec.executable>
      <jpda.listen>true</jpda.listen>
    </properties>
  </action>

</actions>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM