idea引入第三方tomcat

本文详细介绍了如何将Spring Boot应用从内置Tomcat切换到外部Tomcat部署的过程,包括修改Maven配置、继承SpringBootServletInitializer、配置外部Tomcat及创建Artifacts等关键步骤。

1.修改pom文件,把自带的tomcat移除,增加以下配置

<exclusions>
   <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
   </exclusion>
</exclusions>

 

增加第三方tomcat支持

<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>javax.servlet-api</artifactId>
   <version>3.1.0</version>
   <scope>provided</scope>
</dependency>

 

2.修改application,继承SpringBootServletInitializer,重写config方法

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
   return application.sources(ProcessEngineServiceApplication.class);
}

3.配置tomcat

File-settig,加入自己的tomcat路径

配置自己的tomcat

 

4.增加项目的Artifacts

5.将Artifacts加入tomcat并启动

 

 

 

 

 

### IDEA 中创建 Maven 项目失败及 Tomcat 运行错误解决方案 #### 一、Maven 项目创建失败的原因分析与解决方法 当在 IntelliJ IDEA 中创建 Maven 项目遇到问题时,通常是因为缺少必要的依赖项或配置不正确。如果模板创建的 Web 项目没有 `src` 目录结构,则可能是由于选择了错误的 Archetype 或者未正确设置打包方式。 对于这种情况,建议手动调整项目的文件夹布局来匹配标准的 Maven 结构: 1. **确保 pom.xml 文件中的 `<packaging>` 设置为 war** 如果不是 web 应用程序,默认可能会被设为 jar 形式,这会阻止 src/main/webapp 的自动生成。 ```xml <packaging>war</packaging> ``` 2. **添加缺失的源码目录** 可以通过右键点击 project root -> New -> Directory 来手工增加所需的子文件夹如 `src/main/java`, `src/test/java`, 和 `src/main/resources`. 3. **同步项目并刷新索引** 使用菜单栏上的 "File"->"Invalidate Caches / Restart..." 功能清理缓存重启 IDE;之后再次尝试更新项目依赖 (`Alt+F5`) 并重新加载整个工作区. #### 二、Tomcat 插件和 JAR 冲突处理办法 关于提到的 tomcat-servlet-api.jar 版本冲突问题,在构建路径中存在多个不同版本的 servlet API 导致类加载器找不到唯一实现的情况确实会发生。为了避免此类情况的发生: - 修改 POM 文件排除掉不必要的 Servlet API 依赖 在父级 dependencyManagement 下定义统一管理所有模块使用的 Servlet API 版本号,并且显式的声明要忽略来自其他库引入的重复条目. ```xml <dependencyManagement> <dependencies> <!-- 统一指定servlet api版本 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${servlet.version}</version> <scope>provided</scope> </dependency> ... <!-- 排除第三方包内的Servlet API--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </dependencyManagement> ``` - 配置应用服务器插件范围属性为 provided 对于那些由容器提供支持的功能组件(比如 Servlet),应该将其作用域设定为 'provided' ,从而防止它们被打包到最终 WAR 文件内造成冗余甚至潜在冲突.[^1] #### 三、环境准备注意事项 为了顺利搭建基于 Java EE 技术栈的应用服务端工程,除了安装 JDK (推荐最新稳定版) 和 Apache Maven 构建工具外,还需要准备好合适的 Application Server 。这里特别强调一点:确保所选版本之间相互兼容非常重要! 例如,JDK 7/8 能够很好地配合 Tomcat 7.x/8.x 工作,而更高版本可能需要更现代的服务容器才能发挥最佳性能[^3].
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值