4

我在我的项目中使用 aspectJ 并在我的 POM 文件中添加了依赖项。当我在 Websphere Application Server Liberty Profile 上运行我的应用程序时,库文件夹中的 aspectj.jar 没有被添加/创建。我对使用 spring 非常陌生,从未使用过服务器来运行应用程序。当我尝试在服务器上运行应用程序时,出现以下异常:

造成的:java.lang.ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException

任何人都可以请团队应用程序出了什么问题吗?

谢谢!

4

1 回答 1

1

您需要确保 aspectj 在运行时对您的应用程序可用。实现此目的的两种基本方法是将其与您的应用程序 zip 打包在一起,或者将其作为服务器中的共享库提供。第一种方法的优点是你不需要做任何额外的配置,而且无论你在哪里运行你的应用程序,依赖关系都会在那里。但是,它的缺点是会使您的应用程序膨胀。如果您最终在服务器上运行多个应用程序,它还可能导致应用程序使用比仅使用共享副本时更多的内存。

对于第一种方法,如果您的依赖项在 pom 中具有默认范围,maven 应该自动将其复制到 WEB-INF/lib(假设您的应用程序是一个战争)。

对于第二种方法,您可以通过将其复制到 Liberty 安装中的 wlp/usr/shared/config/lib/global 文件夹,在 Liberty 中将其配置为全局库(可供所有应用程序使用)。

于 2013-07-23T11:52:39.273 回答