我将一个war文件部署到一个在远程linux机器上运行的tomcat7示例上,得到了filenotfoundexceptions。
项目中引用的jar中有一个包含我没有编写的代码,它使用了几个文件(我已经包含了这些文件,但是找不到)。这些文件位于classes文件夹中。这个jar似乎忽略了我为项目设置的类路径。它使用的这些文件,例如属性文件是jar的外部文件。
下面是它如何调用文件的示例:
FileOutputStream fos = new FileOutputStream("Key.ser");
我在eclipse中开发源项目时遇到了这些错误。我可以通过runconfigurations->arguments->other来配置项目,告诉它在哪里可以找到这些文件,但是导出的.war文件似乎没有绑定这些文件,只有源项目才有。现在,当我试图通过war文件将应用程序部署到另一台服务器上的tomcat时,我又看到了它们。
如何在部署的tomcat7webapp中配置部署的jar文件以查找jar使用的这些文件?我讨厌改变代码,因为我没有写它,所以我真的希望避免这一点。
如前所述,我能够在本地tomcat7上运行与eclipse集成的windows示例,所以我想知道这是否可以复制?
1条答案
按热度按时间x33g5p2x1#
您将无法通过使用引用文件名来查找文件
FileOutputStream
. 将文件放在“web inf/classes”目录中是正确的,这将允许它位于类路径上。要加载该文件,您需要使用类似以下内容将其作为类路径资源加载: