eclipse下使用tomcat启动maven项目

最近学习使用maven,建立了一个maven项目使用eclipse下tomcat启动时报错:

严重: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpringTest]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:655)
	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1628)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
	at java.lang.Class.getDeclaredFields0(Native Method)
	at java.lang.Class.privateGetDeclaredFields(Unknown Source)
	at java.lang.Class.getDeclaredFields(Unknown Source)
	at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:87)
	at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:90)
	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
	at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 10 more
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
	... 24 more

同时,若在eclipse中右键export导出war包时,会发现war包中没有maven管理的lib包。

这是由于没有将maven包配置为可导出造成的。需要打开.classpath文件,找到

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER" />

 改为

<classpathentry export="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
	<attributes>
		<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
	</attributes>
</classpathentry>

 如果元素中已有其他attribute,则直接在<attributes>下面增加<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>即可。

 

转载于:https://www.cnblogs.com/wy2325/p/5011949.html

### 配置 Eclipse 使用 Tomcat 运行 Maven 项目 #### 安装和配置 Tomcat 插件 为了使 Eclipse 能够识别并管理 Tomcat 服务,需先安装 Server Tools 组件。通过 Eclipse Marketplace 或者 Help -> Install New Software... 来完成这一操作。 #### 添加 TomcatEclipse 打开 Window -> Preferences (macOS 用户选择 Eclipse -> Preferences),导航至 `Server` -> `Runtime Environments`,点击 Add 按钮添加本地已有的 Apache Tomcat 版本[^1]。 #### 创建动态 Web 项目 对于现有的 Maven 项目,右键单击项目名称,依次选择 Properties -> Project Facets,勾选 Dynamic Web Module 复选框以启用 Web 功能支持[^2]。 #### 将项目部署到 Tomcat 返回 Servers 视图(可通过 Window -> Show View -> Other... 找到),如果没有显示则创建一个新的服务器实例;接着把想要发布的 Maven Web Application 拖放到此视图中的相应 Tomcat 上面[^3]。 #### 修改 POM 文件以便更好地集成 编辑项目的 pom.xml 文件,加入如下依赖项用于增强与 Servlet API 的兼容性和其他必要的库文件: ```xml <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> ``` 同时可以考虑引入一些辅助性的插件比如 tomcat7-maven-plugin 或 cargo-maven2-plugin 来简化发布流程[^4]。 #### 发布和运行应用 当一切准备就绪之后,在 Servers 视图里启动所关联的 Tomcat 实例即可自动加载并初始化应用程序。此时应该可以在浏览器中访问 http://localhost:8080/[YourAppName]/ 地址查看效果了[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值