有关.classpath文件问题

使用eclipse开发项目时,他会生成一个.classpath文件,这里记录了你项目中所有jar包的路径。现在我想问的是:1,当我把一个项目手动打包成war文件,即在We... 使用eclipse开发项目时,他会生成一个.classpath文件,这里记录了你项目中所有jar包的路径。现在我想问的是:
1,当我把一个项目手动打包成war文件,即在WebRoot下敲jar -cvf test.war *.* 这样打出来的test.war里并没有带.classpath文件,然后复制到webapps下正常运行,他是如何找到这些jar文件所在位置的。
2,如果我的jar包不在本项目中,比如在tomcat的lib下,我又想把我的jar路径指向tomcat的lib里,但此tomcat的路径我又不知道,从程序里可以取到,但我要如何动态修改我的.classpath文件呢,比如<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/FCKeditor-2.3.jar"/>改为:
<classpathentry kind="lib" path="C:/Program Files/Tomcat 6.0/lib/FCKeditor-2.3.jar"/>
请大家帮帮忙,谢谢。
wk,终于发出来了,本来不是0分贴,只是知道扣了我分不给我发贴,最佳答案我会追加50分的,为什么要动态改说来话长,简单一句话我有很多的项目用到了相同的jar包,这些项目会被热部署的,但是就是因为jar包过于多(一个项目大概在25M左右),部署10个左右tomcat就挂掉了,所有现在需要把相同的jar包提出来,达到为项目瘦身的目的,所以我想把所有框架级需要的jar包放到C:/Program Files/Tomcat 6.0/lib下,但是打包成war以后这个.classpath文件并没有被打进war中,也就是说我即使把jar都放到tomcat的lib下,他能通过.classpath文件找的到吗?
展开
 我来答
dakiler
推荐于2016-01-16 · TA获得超过456个赞
知道小有建树答主
回答量:324
采纳率:0%
帮助的人:342万
展开全部
对于第一个问题,.classpath是eclipse才有的文件,别的IDE可能没有,到Web服务器中进行部署的话,Web服务器是不会用.classpath来查找,应该是通过系统的classpath,WEB-INF下面的classes,以及lib目录下面进行查找(我估计是使用了URLClassLoader类进行类的加载,这里涉及到了java的类加载机制)

第二个问题,我不明白你为什么要动态修改,在eclipse中引用了jar文件,可以不是在Tomcat lib目录中的,只要在运行时能找到这个类就可以了

答复补充:
我感觉eclipse用.classpath仅仅是用来编译,跟最后服务器运行没有关系,我觉得应该是可以的。
如果不行的话,直接放在jre/lib/ext目录下面也可以的
仲孙汀兰业午
2019-04-23 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:33%
帮助的人:788万
展开全部
.classpath
文件
源文件的具体位置(kind="src");
运行的系统环境(kind="con");
工程的library的具体位置信息(kind="lib");
在每个lib的xml子节点中,有关于它的其它配置信息;
项目的输出目录(kind="output");
总体上说这个文件就是配置整个工程的运行环境。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hl20913538
2009-02-05 · TA获得超过766个赞
知道小有建树答主
回答量:471
采纳率:0%
帮助的人:0
展开全部
1.刚才我试了下,如果你的jar是External的,在export成war的时候会把包自动添加到lib中。
2.所以如果你要打成war的话,你不必自己指引什么。如果你非要自己指向,你可以用解析xml。

问题补充:
如果在项目中的lib下找不到,会自动去tomcat的lib下找。刚才我有试,war一样可以找到。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式