一个Java项目部署到weblogic里,听说weblogic会把classes目录打成jar包,怎么获取classes里文件的路径
比如有一个文件WEB-INF/classes/cyc/1.txt由于部署到weblogic里会把classes打成jar包,那我怎么在一个普通java类里获取到1.txt...
比如有一个文件WEB-INF/classes/cyc/1.txt
由于部署到weblogic里会把classes打成jar包,那我怎么在一个普通java类里获取到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"
楼主都说自己是听说了,说明不太懂。切实的,部署到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"
展开全部
今天刚刚把这个问题解决了
我承认我自己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 哎
我承认我自己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 哎
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好我的win7的weblogic11g没有打成jar包啊,只是classes目录存在\user_projects\domains\base_domain\autodeploy\项目应用名\WEB-INF\classes目录下嗯!
你是想在另一个程序中引用这里的classes源文件是吗?
你是想在另一个程序中引用这里的classes源文件是吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
部署到weblogic里会把classes打成jar包
这句话不成立!
这句话不成立!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写webroot的下面的目录 好像不对在classes里面没有试过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询