一个Java项目部署到weblogic里,听说weblogic会把classes目录打成jar包,怎么获取classes里文件的路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个Java项目部署到weblogic里,听说weblogic会把classes目录打成jar包,怎么获取classes里文件的路径相关的知识,希望对你有一定的参考价值。
比如有一个文件WEB-INF/classes/cyc/1.txt
由于部署到weblogic里会把classes打成jar包,那我怎么在一个普通java类里获取到1.txt的路径
楼主都说自己是听说了,说明不太懂。切实的,部署到weblogic里会把classes打成jar包
不是这么个意思。
是这样的,听我说,weblogic会把应用打成war包,没有把classes打成jar包这么回事儿,这点要区分清楚。
应用包括组件,jsp页面,和WEB-INF目录。
2、你要去1.txt,假设,路径是这样子哦:application/WEB-INF/classes
那么,你的war包的应用就是application,当然这个application是存在在weblogic创建的域中的,
JDK1.4对应: String path = request.getRealPath("/");
JDK1.6对应 String path = request.getSession().getServletContext().getRealPath("");
这句代码就取到了application,所以你的最终路径就是path = path + "
WEB-INF/classes/cyc/1.txt" 参考技术A 今天刚刚把这个问题解决了
我承认我自己2了一次
String jobPath = request.getSession().getServletContext().getRealPath("")+文件路径;
我一开始是这样拿的结果路径是这样的
file:///bea/user_projects/domains/域名/项目名/null/WEB-INF/classes/文件路径
weblogic将/WEB-INF/classes/放在一个临时文件夹下 每次发布都不一样 getRealPath("")只会简单的返回null 怎么办呢
Thread.currentThread().getContextClassLoader().getResource("/").getPath()+文件路径;
换成这个方法 我tomcat下面是没问题的 我本来以为没问题了
结果 2了
file:///bea/user_projects/domains/域名/项目名/servers/AdminServer/tmp/_WL_user/transfer/m8wwlo/war/WEB-INF/classes/WEB-INF/classes/
拿到了但为什么2个
我一看是不是2的 在文件路径里面加了一次/WEB-INF/classes/
一检查没有 文件路径下的配置中已经去掉了 /WEB-INF/classes/
这里为什么出现2个/WEB-INF/classes/
这个我也没想通 替换掉jobPath = jobPath.replace("/WEB-INF/classes/","");
好 tomcat跑不起来了 没办法 文件路径在加上/WEB-INF/classes/呗 搞定了
分享下 就当记日志了
这里千万注意 这里只是说讨论获取路径的方法
文件能不能取到我不知道 我的的文件还没拿到还在奋斗还在研究weblogic 哎 参考技术B 你好我的win7的weblogic11g没有打成jar包啊,只是classes目录存在\user_projects\domains\base_domain\autodeploy\项目应用名\WEB-INF\classes目录下嗯!
你是想在另一个程序中引用这里的classes源文件是吗? 参考技术C 部署到weblogic里会把classes打成jar包
这句话不成立! 参考技术D 写webroot的下面的目录 好像不对在classes里面没有试过
以上是关于一个Java项目部署到weblogic里,听说weblogic会把classes目录打成jar包,怎么获取classes里文件的路径的主要内容,如果未能解决你的问题,请参考以下文章
(求救)项目在tomcat想正常,部署到weblogic9下 一旦调用action就报空指针