我在JSP Web应用程序中使用第三方.jar时遇到问题。 第三方.jar正在使用.properties文件,该文件应位于类路径中。
这是用于查找文件的代码片段(从.jar中提取):
...
for (String classpath : new String[]{ "sun.boot.class.path", "java.class.path", "java.ext.dirs" })
for (String path : System.getProperty(classpath).split(System.getProperty("path.separator")))
listSearchPaths.add(new File(path));
...
据我所知,该应用程序正在寻找三种不同的系统属性:
构建完成后,所需的.properties文件与第三方位于同一文件夹中.jar
Project.war / WEB-INF / lib / file.properties
Project.war / WEB-INF / LIB / thirdparty.jar
问题在于:
我试图在Solaris上的tomcat6服务器上运行此.war。服务器正在成功启动,但在运行时,使用第三方功能时,应用程序无法在类路径中找到.properties文件。
我尝试了几件事: - 在tomcat common / shared loader中设置.properties - 在编译期间在build.xml中的classpath标记中设置.properties
我还在运行时打印出当前的类路径,这只会导致“/usr/apache/tomcat6/apache-tomcat-6.0.37/bin/bootstrap.jar”
我知道tomcat类路径和java类路径之间存在差异,但我现在无法理解它。
有什么想法吗? 提前谢谢。