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

我在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

回答:

或者,您可以将其(您的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" />

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

以上是 将JAR添加到WAR的类路径而不更改WAR文件 的全部内容, 来源链接: utcz.com/qa/403897.html

回到顶部