0

我在 jboss 上部署了 2 个应用程序作为 app1.war 和 app2.war。这两个应用程序使用一个通用的 java 包,例如 myPackage。早些时候我的战争看起来像这样

==================================================== =======================

app[12].war/
-----web.xml
-----app 特定类(.class 文件之类)
-----appClass1.class
-----appClass2.class 等..
-- ---WEB-INF/
-----myPackage/ (这只是war下的一个文件夹,不是jar包)
---------属于普通包的类如
---- ------common_class1.class
----------common_class2.class
----------。
----------。

==================================================== ======================

但这会产生问题,因为这两组通用类在两个 war 文件中都具有完全相同的名称等。所以我决定将通用包编译为 jar 文件并将其放在每个 war 文件的 WEB-INF/lib 中,现在我的 war 文件看起来像

==================================================== ===========================

app[12].war/
-----web.xml
-----app 特定类(.class 文件之类)
-----appClass1.class
-----appClass2.class 等..
-- ---WEB-INF/
----------lib/
----------myPackage.jar(这现在是一个jar包)
---------- myPackage/
---------------属于通用包的类,如
---------------common_class1.class
-------- -------common_class2.class
---------------。
---------------。

==================================================== ===========================

但是现在我的应用程序特定类需要使用 myPackage.jar 访问类文件抛出 java.lang.ClassNotFoundException 异常。

我在谷歌上搜索了 3-4 个令人沮丧的小时,但没有解决这个特殊问题。我可能在做一些非常错误的事情。有足够聪明的人可以帮帮我吗?

PS:我在 JBOSS 4.2.3 中部署我的战争

万分感谢。〜马诺伊

4

1 回答 1

0

JBoss 在类加载方面有自己的版本相关特性。这些链接可能会对您有所帮助:

但是,如果您的两个 WAR 都需要相同版本的通用包,您可以将该包的 JAR 放入相关服务器配置的 lib 文件夹(例如 server/default/lib)中,而不是将其放在 WAR 文件中。

于 2009-09-09T04:14:18.150 回答