2014-06-12 20 views
2

我有一个在Java over Play 2.2框架中开发的Web应用程序。 当我在本地运行应用程序时,我的一个java类正在访问项目文件夹中的一些文件,运行良好。在部署的Java类中无法访问的文件,但在播放2.2框架中开发的Web应用程序中本地工作的框架

创建jar文件并运行它后,java代码无法读取这些文件。这些文件位于公共文件夹中,并确保打包在jar中。

还有其他文件是我从HTML引用的,它们可以访问,但是java类不能访问这些文件。

请帮我解决这个问题。

回答

1

我想你是试图访问一个jar文件。如果我理解你的问题。请纠正我,如果我错了

你可以使用这样的事情:

InputStream is = this.getClass().getClassLoader().getResourceAsStream(fileFromJarFile); 

如果test.txt的是你的JAR文件的根目录,你会使用:

InputStream is = this.getClass().getClassLoader().getResourceAsStream("test.txt"); 

注意:文件和java类需要位于同一个jar文件中。

+0

最初文件在项目文件夹中,而不是在jar中。一旦我创建了一个项目包在不同的机器上运行它,我使用[_play dist_]命令创建了一个jar。问题出在打包应用程序后,java类无法通过HTML访问文件。希望我清楚。 – AnkitG

+0

这是文件。但是你正在创建一个jar,然后试图访问它,所以当从项目文件夹中执行正常文件读取将工作,但如果它在jar下,那么你必须像上面那样做。 –

1

在我的情况下,代码一切正常,罐子一侧的目录结构是我错过了零件的地方。

我必须保持目录中的文件/文件夹与@APaul所说的jar文件相同,我试过了,但没有奏效,因为我正在使用批处理来运行jar。我的文件应该在包含批处理文件的文件夹中。我的错!

反正谢谢@APaul。

相关问题