我的项目结构如下。服务器是 Glassfish 4。IDE - netbeans 7.4。项目 temp 由项目 a 使用。
EAR
+ lib/temp.jar
+ a.war
Temp.jar
包含核心类。它们被战争所利用。Temp.jar
不会从 war 导入任何文件,并且它必须对 war 一无所知。但,temp.jar
具有通过反射创建 war 类实例的类(根据 xml 文件)。我在这里得到ClassNotFoundException
。如何解决?是否可以修复或者我的项目结构错误?
注意:我没有将 temp.jar 放入 a.war 中,因为可能有不同的 war 文件可以使用该 jar。
我找到了答案。
如果我们将 jar 放入 Ear/lib 文件夹中,则可以访问其中的类,但无法访问 lib 之外的类(在这种情况下,无需在 war 的清单文件中添加某些内容)。
如果我们将jar放在ear的根目录或任何其他文件夹ear/bum中,那么这些jar的类就可以访问war类。
所以我得出结论,/lib 是单向的,任何其他都是双向的。
希望它能为某人节省很多时间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)