eclipse的web工程中import的jar文件,如何自动部署到tomcat中
eclispe中导入external jar package 无法添加入webcontent中的lib中,导致tomcat运行时候找不到该jar : 即出现找不到jar包中的类加载器。
解决办法:
在项目属性中找到deployement Assembly,首先添加webcontent中的lib目录进去,如果还不行再将 将libraries中的referenced libraries中的jar包导入进去·!
下面是原解答:
首先,放在tomcat安装目录的lib文件夹下肯定没有问题的。这时eclipse引用的jar文件可以在任意路径。其次,可以将jar文件放在webapp\web-inf\lib目录下(及工程目录中的webcontent\web-inf\lib目录),这时eclipse引用的jar文件应在webcontent\web-inf\lib目录下。 但是这两种方式都不是很合理,放在tomcat安装目录的lib文件夹下相当于是全局共享这个包,但这真的有必要么?
放在webapp\web-inf\lib目录下,实际是把jar放到了jsp等文本代码的目录中了。明明eclipse工程中组织好的目录是在src\web-inf\lib呀。 其实,完全可以把jar包放在src\WEB-INF\lib目录下,这时开发时没有问题,调试时tomcat会找不到这个包。
很简单,在项目属性中Deloyment Assembly配置页,设置src\WEB-INF\lib目录发布到WEB-INF\lib目录就好了,这样调试时会自动复制到tomcat对应的目录(build\classes\WEB-INF\lib)中。将来打包时也会正确处理的。 webcontent目录放置的都是些文本文件,而classes目录及classes目录下的WEB-INF\lib目录是放二进制文件的,这恐怕也是为了保护源代码。
等等,你真的觉得这样就是最好的办法么?那么如果我开发很多个项目,难道每一个都要拷贝一遍,那么我可爱的小硬盘上到底会有多少重复的jar文件呢?终极的解决办法是:在你的电脑上的某个位置,放好你开发任何项目所需要的各种jar文件。
然后再eclipse 的window菜单Preferences设置user libraries。具体位置是Preferences窗体的java–build path—user libraries中。然后工程中引用这个你自己声明的user library。记得要在项目属性中Deloyment Assembly配置页中为这个包添加部署设置哦。