我的项目结构如下。服务器是Glassfish 4. IDE - netbeans 7.4。项目临时用于项目a。
EAR
+ lib/temp.jar
+ a.war
Temp.jar
包含核心类。他们被战争使用。 Temp.jar
不会从战争中导入任何文件,它必须知道战争。但是,temp.jar
具有通过反射创建war类实例的类(根据xml文件)。我得到ClassNotFoundException
。怎么修好?是否有可能修复或我有错误的项目结构?
注意:我没有把temp.jar放在a.war中,因为可以有不同的war文件可以使用这个jar。
答案 0 :(得分:3)
我找到了答案。
如果我们将jar放入ear / lib文件夹,那么可以访问其中的类,但是它们无法访问lib中的类(在这种情况下,不需要向清单文件中添加内容)。
如果我们把jar放在耳根或任何其他文件夹耳/ bum中,那么这些jar的类可以访问war类。
所以我得出结论,/ lib是单向的,任何其他都是双向的。
希望能节省很多时间。
答案 1 :(得分:2)
将jar文件添加到您的lib文件夹中。 更改MANIFEST.MF并将特定的jar路径添加到Bundle-ClassPath。
这对我有用。