我知道捕捉错误并不是一个好习惯,但在这种情况下,做到这一点很重要。我正在尝试运行一个包含我游戏的一部分的jar,但它给了我一个不满意的链接错误,但这是有趣的部分: 我正在使用此代码:
System.setProperty("org.lwjgl.librarypath", new File("lib/natives").getAbsolutePath());
但是在netbeans中,它给了我这个错误,但是jar运行了。现在,如果我改为代码,那么:
System.setProperty("org.lwjgl.librarypath", new File("Dist/lib/natives").getAbsolutePath());
现在,它运行在netbeans中,但是它没有工作的jar ...而且我没有得到它!所以,我正在尝试使用try / catch来使用两者中的任何一个,这是完整的代码:
try{
System.setProperty("org.lwjgl.librarypath", new File("lib/natives").getAbsolutePath());
}
catch (UnsatisfiedLinkError e){
System.setProperty("org.lwjgl.librarypath", new File("dist/lib/natives").getAbsolutePath());
}
当我在netbeans中运行它时,它给出了第一行的错误,而不是catch部分的错误。这是怎么回事?在此先感谢朋友们!
答案 0 :(得分:1)
在这样的代码中:
new File("Dist/lib/natives").getAbsolutePath()
您提供相对于JRE“user”(或工作)目录的路径“Dist / lib / natives”。相对于系统属性“user.dir”的值。此属性的值在JVM启动时设置,并且可以根据JVM的启动方式而有所不同。您应该打印或记录'user.dir'的值,并观察您的问题中每个启动案例的差异,以了解正在发生的事情。
System.ou.println(System.getProperty("user.dir"));