我用weblogic 10.3.4. 但我打成WAR包部署后,调试程序,结果: 打成WAR包后怎么取得该项目的绝对路径? |
|
10分
#1 |
String path = System.getProperty(“java.class.path”);
String separetor = System.getProperty(“file.separator”); String absolutePath = (new File(path)).getAbsolutePath(); |
10分
#2 |
if (absolutePath.indexOf(“;”) >= 0) {
absolutePath = absolutePath.split(“;”)[0]; } int i, j; for (i = 0; (j = absolutePath.indexOf(separetor, i)) >= 0; i = j + 1) |
10分
#3 |
这个是tomcat和weblogic不同的地方了。
weblogic自己不会解压war包出来,weblogic的war包部署时,需要自己添加一个进行war解压的class文件,然后配置在web.xml里面,否则在war包里面拿不到路径信息。我之前搞weblogic部署时都是部署文件夹,都不部署war包了。 |
70分
#4 |
把代码
getServletContext().getRealPath("/") 修改成 getServletContext().getResource("/") URL url = request.getSession().getServletContext().getResource(“/”); |
#5 |
我试了,都不行,还有什么办法
|
#6 |
xxxxxxxAction.class.getResource(“/”).getPath()
试试这个行不行action就是随便一个class文件 |
#7 |
回复5楼: 楼主试了在war里面取路径都不行吗?如果都不行,那就写一个servlet,配置在web.xml里面,让项目加载的时候先去把war解压出来,这样获取路径时就可以在文件夹里面获取了。 |
#8 |
Thread.currentThread().getContextClassLoader().getResource(aResource).toString();
获取URL格式的路径 再截取 |