2017-07-13 65 views
0

我正在使用nohup命令从命令行运行的后台Spring服务。jar文件中的Java FileNotFoundException

我打了以下错误:

java.io.FileNotFoundException: class path resource [templates/] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/Users/gestes/Documents/workspace/bge/bge-proj/myProcess/target/myProcess-0.2.2.jar!/templates/ 

正在创建的JAR文件,并在确实存在:

/Users/gestes/Documents/workspace/bge/bge-proj/myProcess/target/myProcess-0.2.2.jar 

当我解压JAR文件的内容,有一个/模板/ 目录。

看着这个例外,有一个“! “在jar文件名后面,我认为这说明了它无法找到的东西,但很明显,它在那里。

我错过了什么?

+0

检查是否模板文件夹被添加到正在执行的jar的类路径 –

+0

'jar:file:/'应该提到与jar根相关的文件名。不过你的文件名是绝对路径 –

+0

这个!字符用于表示jar内文件路径的开始。这不是一个文字!字符被解释。检查你引用/ template目录的路径。你能把这个添加到你的问题吗? – SmileIT

回答

0

如果你的代码试图访问使用Java File的文件夹,你不能这样做。您需要使用一个inputStream

这是因为瓶里面的东西实际上不是磁盘上的文件。它们是在一个罐子里编译的。是的,它可能是当你提取罐子,但它实际上不是一个正常的磁盘文件,当罐子捆绑

+0

这是一个作为另一个项目必须与之交互的后台服务运行的现有项目。它运行在制作环境等等......只是在当地的环境中站立起来。这个错误发生在启动时......但是没有看到它从哪里被调用,stacktrace只列出了Spring系统文件,在本地源文件中没有。我确实看到源代码中没有application.properties文件...想知道是否有什么东西可以帮助解决这个问题。 – Cal30