`
java_holdIng
  • 浏览: 30288 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

idea中启动tomcat问题之一

阅读更多

最近新建了一个简单的springmvc项目,同样是采取maven来管理的。一切配置好之后,在idea中用tomcat启动却一直报错,查看了下主要是日志这里:

java.lang.NoClassDefFoundError: org/apache/log4j/LogManager
	at org.springframework.util.Log4jConfigurer.shutdownLogging(Log4jConfigurer.java:123)
	at org.springframework.web.util.Log4jWebConfigurer.shutdownLogging(Log4jWebConfigurer.java:172)
	at org.springframework.web.util.Log4jConfigListener.contextDestroyed(Log4jConfigListener.java:54)
	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4840)

Caused by: java.lang.ClassNotFoundException: org.apache.log4j.LogManager
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
	... 49 more

 

排查过程:

1 根据提示很明显的就是缺少相应的jar包,然后去pom文件中看了下。跟这个日志有关的几个jar都是存在的:

       <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j-version}</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.11</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j-version}</version>
        </dependency>

     ps:上面的slf4j版本号:1.7.12 

      

     2 jar既然没问题,但是tomcat启动却一直报错。于是就先不用tomcat来启动,直接在idea中来启动,方法     是利用单元测试来测试的,

 

    ①相关依赖包:

 <!--test-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>1.8.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring-version}</version>
        </dependency>

   

   ② 测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/applicationContext.xml","/dispatcher-servlet.xml"})
public class TxtFileServiceImplTest {
    @Autowired
    private TxtFileService txtFileService;
   
    public void testStart(){
        txtFileService.getLocalTxtFileVale();
    }
}

    结果可以正常测试成功,证明项目是没问题的。

 

   3 检查打包到tomcat的jar包(tomcat-webapps -项目名称-lib下) 结果发现果然缺少这些包,问题找到了,原来是配置tomcat启动项目的时候包没有加进去,解决办法:

   1⃣️ 鼠标选中项目按F4或者右键选择 open-moulde-setting 

   2⃣️ 在弹出框左侧 选择Artifacts 然后选中你tomcat解析的那个war包,在右侧最大的那个框看下你需要加载的包是不是已经放到WEB-INF--lib 目录下了,如果没有的话,选中需要加载的包 右键,选择Put into web-inf/lib 这个就可以了。如下图所示:

 

   

   当然正常情况下,创建项目是会默认加进去的。

  • 大小: 229 KB
分享到:
评论

相关推荐

    tomcat6,用于idea适配低版本的tomcat

    在Java Web开发领域,Tomcat是应用最广泛的轻量级服务器之一,尤其对于初学者和小型项目而言。Tomcat 6是一个较旧的版本,发布于2009年,支持Java EE 5规范。 IntelliJ IDEA是一款强大的集成开发环境(IDE),广泛...

    idea配置tomcat-idea-tomcat-master.zip

    在IT行业中,集成开发环境(IDE)...在实际开发中,可能还需要根据具体需求配置虚拟主机、调整Tomcat参数、处理热部署等问题,但这些都建立在基础配置之上。不断实践和学习,才能更好地利用IDEA和Tomcat进行高效开发。

    IDEA8与Tomcat集成开发环境配置.doc

    1. **启动应用**:点击IDEA中的启动按钮,可以启动Tomcat服务器并加载Web应用。对于JSP文件的修改,保存后会自动编译部署;对于class文件的修改,则需要手动重新编译。 2. **调试功能**:为了调试代码,可以在代码中...

    IntelliJIDEA的安装、配置与使用 (很全面包含快捷键、tomcat配置)

    这份“IntelliJ IDEA的安装、配置与使用”指南将带领你深入了解这款强大的工具,助你在Java开发之路上更加得心应手。 首先,安装过程相对简单,通常只需下载最新版本的IntelliJ IDEA安装包,按照向导步骤进行即可。...

    IntelliJ IDEA 12创建Java Web项目并用Tomcat发布

    Java Web 项目是最常见的项目类型之一,Tomcat 是最流行的 Java Web 服务器之一。本文将介绍如何使用 IntelliJ IDEA 12 创建 Java Web 项目,并将其部署到 Tomcat 服务器上。 一、创建 Java Web 项目 在 IntelliJ ...

    IntelliJ IDEA Tomcat配置详解(图文)

    6. **事件触发配置**:IntelliJ IDEA特有的配置之一是事件触发配置,在Tomcat运行时可以设置触发事件。例如On Update Action允许开发者在使用Ctrl+F10进行容器更新时,根据配置的事件内容进行容器更新。常用的事件是...

    IDEA 开启自动编译设置步骤

    为了提高开发效率,IDEA提供了许多实用的功能,其中之一就是自动编译功能。通过开启自动编译,开发者可以在编辑源代码后立即看到改动效果,无需手动触发编译过程。本文将详细介绍如何在IDEA中开启自动编译功能。 ##...

    IDEA初始化配置定制自己的IDEA

    2. 取消默认打开最后使用的项目,这个选项允许用户在IDEA启动时选择是否自动打开上次关闭时的项目。 3. 配置自动引入,指的是设置当用户输入代码时,IDEA是否自动添加必要的import语句。 4. 设置编辑器字体和字号,...

    实战验证过的最新远程Tomcat调试方式(基于IDEA2023/2024, JDK1.8, TOMCAT9, WIN10的)

    - 使能Debug模式(JPDA):直接在命令行中执行`catalina.bat jpda start`来启动Tomcat。 **坑1**: 使用`startup.bat`命令启动时,即使加上`jpda start`参数,也可能无法正确绑定8000端口。这是因为`startup.bat`与...

    tomcat插件,放到plugins下直接用

    "Tomcat插件"是针对Eclipse集成开发环境(IDE)的一个扩展,旨在简化在Eclipse中管理和调试Tomcat服务器的过程。这个插件名为"com.sysdeo.eclipse.tomcat_3.2.1",版本号为3.2.1,表明它是由Sysdeo公司开发的,并且...

    tomcat源码学习之环境搭建

    `bin`目录包含启动和停止Tomcat的脚本,`conf`目录包含服务器的配置文件,`lib`目录存放运行Tomcat所需的库文件,`webapps`则是部署Web应用程序的地方。 源码学习通常分为几个阶段: 1. **了解架构**:阅读`server...

    tomcat免费开源服务器

    在Windows、Linux或Mac OS等操作系统上,Tomcat的安装通常涉及解压下载的Tomcat压缩包,配置环境变量,然后启动Tomcat的`catalina.sh`或`catalina.bat`脚本。一旦启动,可以通过默认的8080端口访问Tomcat的管理界面...

    apache-tomcat-8.0.21

    它是由Apache Software Foundation维护的,并且是Java EE(现在称为Jakarta EE)规范的重要实现之一,尤其是Servlet、JSP和EL(Expression Language)规范。Tomcat以其轻量级、高效和易于配置的特点,成为了许多开发...

    tomcat源码阅读(一)——环境搭建

    在IT行业中,源码阅读是提升技术水平的重要途径之一,尤其是对于服务器端应用的开发者来说,理解Web服务器如Tomcat的工作原理能帮助我们更好地优化性能、排查问题。本篇将聚焦于"Tomcat源码阅读(一)——环境搭建...

    apache-tomcat-7.0.75-windows-x86解压版32位

    Apache Tomcat 是Apache软件基金会的项目之一,它的主要功能是作为Servlet和JSP容器。Servlet是一种Java编程语言的API,用于扩展服务器的功能,而JSP则是一种基于Java的动态网页技术,可以将静态内容和动态逻辑结合...

    tomcat7.053

    Apache Tomcat 7.0.53 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的...同时,深入理解Tomcat的工作原理和配置选项,对于优化应用性能和解决运行中遇到的问题至关重要。

    tomcat 开 发 工 具

    它由Apache软件基金会维护,是Java社区中最受欢迎的Web服务器之一。 2. **安装Tomcat** 安装过程相对简单,如描述中提到的。通常,这包括下载与操作系统匹配的Tomcat版本(例如,提供的`apache-tomcat-8.5.32.exe`...

    apache-tomcat-7.0.47

    了解Tomcat的工作原理和配置对于任何Java Web开发者来说都是必要的,因为它是最基础的部署环境之一,且与各种IDE(如Eclipse、IntelliJ IDEA)和构建工具(如Maven、Gradle)集成良好。同时,熟悉Tomcat的故障排查和...

Global site tag (gtag.js) - Google Analytics