当前位置: 首页 > 知识库问答 >
问题:

使用嵌入Maven的Tomcat启动应用程序

国阳
2023-03-14
Exception in thread "Thread-2" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils
at org.apache.tomcat.maven.plugin.tomcat7.run.RunMojo$2.run(RunMojo.java:295)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils
at  org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
... 1 more

这是pom.xml的配置:

    <build>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>${tomcat-maven-plugin.version}</version>
      <configuration>
        <port>8080</port>
        <path>/ppc-v2.webapp</path>
      </configuration>
      <dependencies>
        <dependency>
          <groupId>upgrade.karavel.framework</groupId>
          <artifactId>framework.integration.camel.extension</artifactId>
          <version>${framework.camel.extension.version}</version>
          <exclusions>
            <exclusion>
              <groupId>org.apache.geronimo.specs</groupId>
              <artifactId>geronimo-servlet_2.5_spec</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>upgrade.karavel.framework</groupId>
          <artifactId>framework.frontend.web</artifactId>
          <version>${framework.frontend.web.version}</version>
          <exclusions>
            <exclusion>
              <groupId>org.springframework.webflow</groupId>
              <artifactId>spring-webflow</artifactId>
            </exclusion>
            <exclusion>
              <groupId>javax.servlet</groupId>
              <artifactId>servlet-api</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
      </dependencies>
    </plugin>
  </plugins>
</build>

编辑:我在日志顶部有以下stacktrace:

共有1个答案

田远
2023-03-14

您可以通过在pom.xml中添加此依赖项来包含Apache commons-io jar

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

如果您想在tomcat lib中添加jar文件,您所能做的就是从https://commons.apache.org/proper/commons-io/download_io.cgi下载jar文件,然后转到安装tomcat的位置,转到lib文件夹并复制粘贴jar。在我的情况下,我的位置是

C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib

您也可以在本地系统中进行类似的检查。

 类似资料:
  • 我试图使用Intellij启动一个Spring应用程序,但我得到了下面的错误。我尝试将Tomcat依赖项放在pom.xml中,但这并不奏效(我后来也发现不需要这样做)。 应用程序应该可以正常工作,因为它已经在一个同事的电脑上工作了,所以我不太确定为什么我会得到这个错误。我已经尝试了几个修复,我在这里遇到了,但没有一个奏效。下面是我的:

  • 我正在做一个研究项目,以确定我们可以在多大程度上使用Spring Boot配置嵌入式Tomcat。我被要求调查的一个项目是关于我们是否仍然可以使用应用程序管理器。我没有一个具体的用例来解释我们为什么要使用嵌入tomcat的应用程序管理器,所以也许这使得这个问题无法回答: Spring Boot使用的嵌入式Tomcat7是否包含一个tomcat manager应用程序,如果不包含,添加/启用它需要什

  • 我已经在tomcat服务器上安装了应用程序。在启动和加载应用程序的过程中,我有以下堆栈跟踪的错误。如何解决这个问题? apache-tomcat-7.0.47/webapps/petclinic 2016年10月27日下午12:14:36 org。阿帕奇。卡塔琳娜。果心标准上下文起始内部 严重:ServletContainerInitializer处理javax时出错。servlet。Servle

  • 我正在运行一个Spring web应用程序,但未能在最新的Eclipse中使用Tomcat7 Maven插件执行嵌入式tomcat,在windows上运行goal,但未能将其配置为运行Tomcat8.5,它一直查找Tomcat7文件夹。 tomcat7:run-war使用嵌入式Tomcat服务器将当前项目作为打包的web应用程序运行。 我找到了答案或这个答案,但它对部署tomcat很好。 这个项目

  • 我将Tomcat 7.0.32嵌入到一个水槽源代码中。我遇到的问题是Flume在类路径上放置了大量的东西,在启动时,Tomcat会扫描类路径寻找TLD,这是因为Flume使用通配符而导致的问题。 信息:启动Servlet引擎:Apache Tomcat/7.0.32 Nov.052012 8:21:08 AM org.Apache.catalina.startup.tldconfig tldSca

  • 我的程序编译了所有内容,我没有出错,但我实际上期望tomcat应该永久在端口8080上。输出中也没有Spring。在另一个项目中,我做的一切都很好。谢谢你帮助我。 我的父母: 我的tarter.class: 我的Starter-Pom: 控制台输出: 然后什么都不会发生了。谢谢你的帮助。