Netbeans Java Maven项目成功构建,但无法运行

时间:2018-08-22 17:30:54

标签: java maven javafx netbeans

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

编辑:这是一个javaFx项目。

2 个答案:

答案 0 :(得分:0)

可能由于某些原因,您可以尝试以下方法: 1.Main类未声明为“ PUBLIC”。 2.Java环境路径应正确设置。(链接https://introcs.cs.princeton.edu/java/15inout/windows-cmd.html) 3.尝试更改项目的位置。

答案 1 :(得分:0)

我已经部分解决了这个问题。看来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>