Maven项目Update Project 之后部署到Tomcat出现错误

本文介绍了解决在Maven项目中部署到Tomcat时出现的java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener错误的方法。通过配置项目的Deployment Assembly添加Maven依赖解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情景:lz在创建Maven项目之后,刚开始运行都ok,后面做了Update Project之后再部署到Tomcat中运行出现错误 :
 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener。
根据字面的意思是jar文件缺失,在项目中POM文件正常,到tomcat里面找发现没有找到lib文件夹。

解决方法:


点击项目右击  ==》properties  搜索Deployment assembly  点击,点击Add==》Java Bulid Path Entries==>Maven Dependencies==>finish
点击Apply ==》OK。
重发布到Tomcat ,正常。
<think>我们正在处理一个非Maven项目,因此需要手动配置库和工件(Artifacts)。以下是详细步骤: 1. 从SVN检出项目 2. 配置项目模块(如果是多模块) 3. 添加必要的库(如Servlet API) 4. 配置工件(Artifacts)以便部署Tomcat 5. 配置Tomcat服务器并部署 参考引用[2]中关于非Maven的web工程的配置部分。</think>### 在IDEA中使用SVN和Tomcat部署Maven项目的步骤 #### 1. **从SVN检出项目**[^1][^2] ```markdown 1. 打开IDEA → `Get from Version Control` → `Subversion` 2. 添加SVN仓库URL(如:`svn://your-repo/project`) 3. 指定本地存储路径,勾选`Create directory for project` 4. 点击`Checkout`下载项目文件 ``` #### 2. **配置项目结构** ```markdown 1. 右键项目 → `Add Framework Support` → 选择`Web Application` 2. 创建WEB-INF目录: - 项目根目录下新建 `web/WEB-INF` 文件夹 - 在`WEB-INF`中创建 `web.xml` 和 `classes` 文件夹 3. 配置输出路径: - `File → Project Structure → Modules → Paths` - 设置`Compiler output`为 `web/WEB-INF/classes` ``` #### 3. **添加依赖库**[^2] ```markdown 1. 将Tomcat的lib目录添加为库: - `File → Project Structure → Libraries → +` - 选择Tomcat安装目录下的`lib`文件夹(包含servlet-api.jar) 2. 添加其他第三方JAR: - 创建`lib`文件夹存放JAR文件 - 右键JAR → `Add as Library` ``` #### 4. **配置Artifacts**[^2] ```markdown 1. `File → Project Structure → Artifacts → +` 2. 选择`Web Application: Exploded → From Modules` 3. 配置输出目录: - 确保`Output directory`指向项目的`web`文件夹 - 在`WEB-INF`下创建`lib`文件夹存放依赖JAR 4. 添加依赖JAR到Artifact: - 右侧`Available Elements`中拖拽`lib`目录到`WEB-INF/lib` ``` #### 5. **配置Tomcat服务器** ```markdown 1. 点击工具栏 `Add Configuration` → `+` → `Tomcat Server → Local` 2. 指定Tomcat安装目录: - `Application server` → 选择Tomcat路径 3. 部署Artifact: - `Deployment`选项卡 → `+` → `Artifact` - 选择刚创建的`[项目名]:war exploded` - 设置`Application context`(如`/myapp`) 4. 热部署配置: - `On 'Update' action` → 选择`Update classes and resources` ``` #### 6. **运行与调试** ```markdown 1. 编译项目:`Build → Build Project` 2. 启动Tomcat:点击绿色三角按钮 3. 验证部署: - 控制台出现`Deployment of web application directory [...] has finished`表示成功 - 浏览器访问:`http://localhost:8080/myapp/your-page` ``` > **关键配置验证点**: > - `WEB-INF/web.xml`中配置了`DispatcherServlet`(SpringMVC核心) > - Artifact的`WEB-INF/lib`包含所有依赖JAR > - 项目结构中的输出路径指向`web/WEB-INF/classes` #### 7. **常见问题解决** - **404错误**: - 检查`web.xml`中`<servlet-mapping>`的URL配置 - 确认Controller类在`<context:component-scan>`的扫描路径内 - **ClassNotFoundException**: - 检查Artifact中`WEB-INF/lib`是否包含所有JAR - 重新添加Tomcat的`lib`作为全局库 - **SVN提交错误**: - 右键文件 → `Subversion → Add to VCS` 添加未版本控制的文件 - 提交前执行`Subversion → Update Directory`同步最新代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值