我正在使用Netbeans和Maven开发Java应用程序。作为独立的应用程序,我正在努力运行该项目。从Netbeans启动项目一切正常,但运行可执行jar会产生错误(无法加载数据文件)。
我需要知道完全 Netbeans正在执行哪些命令来运行应用程序。但是,Netbeans的输出窗口只显示应用程序“返回”的内容。有没有办法找出/显示Netbeans用来运行项目的命令?
由于
编辑:运行java应用程序并加载文件不这里的问题。我能够运行应用程序并正确加载库。这里的问题是了解Netbans如何运行应用程序(通过查看执行的命令)。
答案 0 :(得分:2)
当 NetBeans 编译程序时,它会创建一个包含已编译.class
文件的文件夹层次结构。在存档中创建 JAR 存档 ZIP 时。执行程序时,(或调试) NetBeans 会从文件夹中运行.class
个文件,而不会在 JAR 文件中运行。
这些可能导致不同的问题,例如不同的 PATH 。这可能导致找不到文件"相对路径的错误。
答案 1 :(得分:2)
Netbeans 输出它调用的命令作为输出的第一行。
我使用 Netbeans 8.2 ,以及当我在maven
项目中点击绿色运行按钮时的样子:
第一行读取(格式化以获得更好的可读性):
cd D:\test;
"JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_112"
"M2_HOME=C:\\Program Files\\apache-maven-3.3.3"
cmd /c "\"\"C:\\Program Files\\apache-maven-3.3.3\\bin\\mvn.cmd\"
-Dexec.args=\"-classpath %classpath com.test.AppStarter\"
-Dexec.executable=\"C:\\Program Files\\Java\\jdk1.8.0_112\\bin\\java.exe\"
-Dexec.workingdir=D:\\test\\target\\dist
-Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans 8.2\\java\\maven-nblib\\netbeans-eventspy.jar\"
-Dfile.encoding=UTF-8
org.codehaus.mojo:exec-maven-plugin:1.2.1:exec\""
从那一行我可以看出 Netbeans :
JAVA_HOME
和M2_HOME
)cmd
的{{1}}(按其完整路径)
mvn
个参数(指定工作目录,-D
作为要执行的类)AppStarter
与目标exec-maven- plugin
。答案 2 :(得分:0)
你的操作系统是什么?
<强>窗口:强> 然后wmic可能是工具,它可以显示完整的命令行。你会在这里找到例子command line of process by name
<强>的Linux:强> 尝试 ps -ef | grep java