当前位置: 首页 > 面试题库 >

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

谷彦君
2023-03-14
问题内容

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

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



 类似资料:
  • 问题内容: 我在JBoss 4.3-eap上部署带有捆绑的war,jar和配置文件(.properties文件)的耳朵时遇到问题。这是我的耳朵结构: 我的jboss-app.xml中包含以下内容: 我的application.xml看起来像这样: 基本上,在部署耳朵时,我遇到了一个问题,其中我的一场大战无法在文件(r)中找到类。我认为这是由于战争没有找到该库,即使它在文件夹/ classpath中

  • 问题内容: 我在上,我尝试了下都无济于事。还尝试将jar移到src目录,但是java文件仍然无法编译。尝试在脚本中简单地导入httpclient。 问题答案: 安装您的JDK并将 其放置 。难道 不是 .jar文件复制到你的JDK的文件夹! 如果您还没有一个IDE,我建议您使用Eclipse或Netbeans这样的IDE。 我将建立一个新项目,创建或导入您的源,并为该项目设置一个类路径。 如果那行

  • 我正在使用maven构建工具。我的意图是将单独的绝对文件夹[例如:C:\test1.jar,C:\test2.jar]中可用的jar文件添加到类路径中。 我可以看到JAR被添加到war中可用的Manifest.mf文件的类路径中,但当war部署时,它由于“java.lang.ClassNotFoundException”[与test1.jar或test2.jar相关]而失败。 这是否意味着在man

  • 我对在服务器类路径中添加jar有疑问。如果需要添加一个jar,我们将添加到war的lib文件夹中,或者我们将添加到服务器的lib文件夹中。 是我错过了什么还是这根本不可能。请注意,其意图是将jar文件保存在我的机器中的一个单独文件夹中,并通过使用war文件的Manifest.mf将其加载到服务器类路径中。帮帮我吧。

  • 我希望title本身是描述性的,但要明确的是,我试图在greeting-service.jar中包含(即,error-handling-service.jar)。在构建之后,我在新项目(即TestApplication)中包含了greeting-service.jar,但在执行我得到的TestApplication时(顺便说一句,TestApplication不是一个gradle项目) BaseE

  • 问题内容: 在开发Java项目时,我将所有jar文件都放在一个在项目内部创建的文件夹中,称为Now,是否可以将文件夹添加到Java类路径中,而不必添加每个jar文件? 我在考虑变量或创建用户库的思路。 问题答案: 根据您所说的,我可能会创建一个包含您的库JAR的用户库。 您可以使用Window => Preferences创建一个用户库,向下钻取到Java => Build Path => Use