0

我正在使用 Eclipse 在 Java 上的 Web 项目中工作。

该项目将至少在两个不同的 WAR 中部署为“开发”和“测试”。

该项目运行良好。

但是当我作为 WAR 文件导出时,每个 WAR 都包含一个使用的库的副本(Spring JAR、Quartz JAR、Hibernate JAR 等)。

所以我在每个实现中重复 JAR。

所以我老板的想法是从 web 项目中删除 JAR 并且:

选项 1:将所有库复制到 windows 文件夹,然后使用“相对路径”引用。

选项 2:将 JAR 放在 Java JRE/JDK lib 文件夹中,并以某种方式引用 JAR。

同样通过此更改,我们正在尝试解决 PermGem 异常

什么是最好的想法?

我是 Java 项目的新手,所以我不知道该怎么做。

感谢您的回答,并为我糟糕的英语感到抱歉

4

2 回答 2

0

IMO最好的想法是将它们与您的应用程序捆绑在一起。

如果没有其他原因,这允许您在一个版本中升级库而不影响其他版本。

于 2013-01-23T13:31:33.313 回答
0

我觉得你目前的方法更好,每次战争都装满罐子。正如@Dave 所说,如果你把它们放在一个共同的地方,就会有依赖性问题。此外,您的两个选项都不会解决PermGen错误,作为临时措施,尝试使用-XX:MaxPermSizeJVM 参数增加 PermGen 内存,即使在此之后,如果您仍然遇到内存不足错误,那么您需要找出内存泄漏的位置。

于 2013-01-23T13:49:39.640 回答