之前我使用ant构建了单个jar,我希望从我的项目中使用java -jar application-name调用应用程序。 我现在已经开始使用gradle并拥有一个jar并调用应用程序 java -cp fullpath-to-class。
除了一个我现在得到的应用程序之外的所有应用程序,一切都按预期工作 尝试加载所需资源的空指针异常。
如果我将文件移动到正在查找文件的类的目录中,一切都很好,但将它们放在不同的目录中似乎是有问题的。
您对
的最佳方法有任何建议吗?一个。调试这个有效的
B中。将文件放在单独的目录中
答案 0 :(得分:0)
对于有效调试此问题的最佳方法,您有什么建议
使用jar -tvf ...
检查缺少的资源是否实际存在于JAR文件中,并且它在JAR.file中具有正确的路径名
使用调试器,并在尝试加载资源的代码上设置断点。单步直到达到绝对资源路径的程度。检查一下。
B中。将文件放在单独的目录中
嗯。我不确定你的实际问题是什么,但我的猜测是它与解析相对资源路径名有关。我建议改用绝对资源路径名。
我想问题可能在于您构建JAR文件的方式,但是您没有提供有关如何执行此操作的具体细节。