我正在使用Eclipse在Java上进行Web项目。
该项目至少将在两个不同的WAR中作为“开发”和“测试”进行部署。
该项目工作正常。
但是当我导出为WAR文件时,每个WAR都包含所使用的库的副本(Spring JAR,Quartz JAR,Hibernate JAR等)。
所以我在每次实现时重复JAR。
所以我的老板的想法是从网络项目中删除JAR并且:
选项1:将所有库复制到Windows文件夹,然后使用“相对路径”进行引用。
选项2:将JAR放在Java JRE / JDK lib文件夹中,并以某种方式引用JAR。
此外,我们正在尝试解决PermGem异常
什么是最好的主意?
我是Java项目的新手,所以我不知道该怎么做。
感谢您的回答并抱歉我的英语不好
答案 0 :(得分:0)
IMO 最佳的想法是将它们与您的应用程序捆绑在一起。
如果没有其他原因,这允许您在一个版本中升级库而不影响其他版本。
答案 1 :(得分:0)
我觉得你现在的方法更好,每场战争都装满了罐子。正如@Dave所说,如果你将它们放到一个共同的地方,它将会产生依赖性问题。
此外,您的两个选项都不会解决PermGen
错误,解决这个问题作为临时措施尝试使用-XX:MaxPermSize
JVM参数增加PermGen内存,即使在此之后仍然出现内存不足错误然后您需要挖出内存泄漏的位置。