一尘不染

将JAR添加到WAR的类路径而不更改WAR文件

tomcat

我在Tomcat中部署了WAR文件。另外我还有一个JAR文件。

是否可以使JAR文件中的类可用于WAR文件中的服务而无需更改WAR文件,或者是否已将其添加到WAR的WEB-INF / lib中?

我尝试将JAR添加到中lib/,但不起作用。启动时,Spring会出现org.springframework.beans.factory.BeanCreationException»java.lang.NoClassDefFoundError失败。

编辑

我意识到自己可能使自己成为一个无法解决且结构丑陋的问题。这是东西:

  • WAR有参考 <bean id="warService" class="com.war.Service" />
  • 我的JAR具有com.mystuff.MyService类,该类扩展了com.war.Service
  • 我已将Bean参考替换为 <bean id="warService" class="com.mystuff.MyService" />
  • Spring失败,并出现java.lang.NoClassDefFoundError:com.war.Service

阅读 386

收藏
2020-06-16

共1个答案

一尘不染

或者,您可以将其(您的jar文件)放在Tomcat根目录下的lib文件夹中。查一下这个:

http://tomcat.apache.org/tomcat-6.0-doc/class-loader-
howto.html

根据您的修改

  1. jar出了点问题
  2. 您在应用程序上下文中误认为了全限定类名

mysql-connector-java-5.0.8-bin我的lib文件夹中恰好有jar 。为了测试,我将其放在应用程序上下文中:

<bean id="driver" class="com.mysql.jdbc.Driver" />

用作护身符,请检查上述两种情况

2020-06-16