`

maven+eclipse搭建webapp总结

阅读更多
最近对maven进行了试探性的研究,今天对其进行总结!感谢snowolf 同学的大力支持!基础的maven介绍与配置请参见 Maven零散笔记——常用配置,这里仅对一些容易出现问题的地方进行说明!
一、别忘了修改project文件
    当我们使用maven创建一个web项目后,首先要记得修改project文件哦!
   
    自动生成的文件:
   
		<buildSpec>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.maven.ide.eclipse.maven2Builder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.eclipse.jdt.core.javanature</nature>
		<nature>org.maven.ide.eclipse.maven2Nature</nature>
	</natures>
    


    需要替换的部分证实buildSpec和natures。

   
	<buildSpec>
		<buildCommand>
			<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.wst.common.project.facet.core.builder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.maven.ide.eclipse.maven2Builder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.wst.validation.validationbuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.springframework.ide.eclipse.core.springbuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.springframework.ide.eclipse.core.springnature</nature>
		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
		<nature>org.eclipse.jdt.core.javanature</nature>
		<nature>org.maven.ide.eclipse.maven2Nature</nature>
		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
	</natures>
    


    有人要问了,为什么需要改project啊?原因很简单,因为我们下一步要设置project facets。你可能发现在未修改project时,project facets在properties里是根本没有的!



二、如果项目中需要servlet-api-2.4.jar等tomcat的lib库中已有的jar包,请将jar包放在WEB-INF的lib下,而不是使用pom从maven检出,因为这样会引起tomcat启动后的异常
javax.servlet.ServletException: java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
等。

三、jsp相关jar包jstl和standard

   
    <dependency>
    	<groupId>taglibs</groupId>
    	<artifactId>standard</artifactId>
    	<version>1.1.2</version>
    </dependency>
    <dependency>
    	<groupId>javax.servlet</groupId>
    	<artifactId>jstl</artifactId>
    	<version>1.2</version>
    </dependency>
    


四、神奇的class not found!
   



我的项目用到了spring,在启动时遇到了神奇的 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener!而在maven Dependencies中相应的jar包已经存在了,这是为什么呢?我在.classpath文件中找到了解决办法!
原始calsspath文件
   
	<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry excluding="**|src/main/java/|src/main/java/" kind="src" output="target/classes" path="src/main/resources"/>
	<classpathentry kind="src" path="com.main.java"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
	<classpathentry kind="output" path="target/classes"/>
</classpath>
    


    修改后的classpath文件,对org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER 添加了一个attribute,并添加了一个classpathentry!

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


    刷新项目,重启!一切OK!

后记:
关于eclipse中class not found的问题
最近换了新版本的eclipse,发现这个问题只需要在项目中设置一下就OK了! 

development assembly 中,添加maven dependencies 就好了!和改配置文件应该是一样的作用。
  • 大小: 66.8 KB
  • 大小: 144.7 KB
分享到:
评论
1 楼 zxjlwt 2015-10-21  
学习了。
http://surenpi.com

相关推荐

    eclipse下SpringMVC+Maven+Mybatis+MySQL项目搭建

    本项目"eclipse下SpringMVC+Maven+Mybatis+MySQL项目搭建"就是一个典型的Java Web开发实例,它利用了SpringMVC作为控制层,Maven作为项目构建工具,Mybatis作为数据持久层框架,以及MySQL作为数据库管理系统。...

    Eclipse+Maven创建webapp项目集成jetty服务器

    通过以上步骤,你就可以在Eclipse中利用Maven和Jetty快速搭建一个可运行的Web应用程序了。这种方式简化了开发流程,提高了效率,尤其适合小型项目和开发阶段的快速迭代。同时,由于Maven的广泛使用,这样的项目结构...

    eclipse+maven+tomcat集成

    ### Eclipse + Maven + Tomcat 集成 #### 一、Maven的安装与配置 Maven是一款跨平台的项目管理工具,它主要用于基于Java平台的项目构建、依赖管理和项目信息管理。Maven的设计理念非常先进,它不仅简化了项目的...

    spring bootMVC+maven+mybatis

    - Spring Boot是由Pivotal团队提供的全新框架,其设计目标是简化新Spring应用的初始搭建以及开发过程。它通过内嵌Tomcat服务器,使得应用可以直接运行在JAR包中,无需额外配置。 - 使用`@SpringBootApplication`...

    eclipse+Maven+SSM

    【标题】"eclipse+Maven+SSM" 指的是使用Eclipse集成开发环境,结合Maven项目管理工具,来搭建一个基于Spring、SpringMVC和MyBatis的Web应用架构,简称SSM框架。这个组合在Java Web开发中非常常见,尤其在企业级应用...

    springmvc+spring+mybatis+Maven+mysql环境搭建源码

    SSM(Spring MVC + Spring + MyBatis)是Java Web开发中常见的三层架构组合,而Maven作为项目构建工具,负责管理和构建项目依赖。本文将详细介绍如何使用这些技术搭建一个完整的开发环境,并运行源码。 首先,让...

    基于Maven的Spring_+_Spring_MVC_+_Mybatis的环境搭建

    ### 基于Maven的Spring + Spring MVC + MyBatis环境搭建详解 #### 一、项目背景与目标 在本篇文章中,我们将探讨如何基于Maven构建一个包含Spring、Spring MVC以及MyBatis框架的集成环境。项目的主要目的是为了...

    使用 eclipse oxygen maven 搭建 springmvc mybatis druid 的增删改框架代码

    在本项目中,我们主要探讨如何使用Eclipse Oxygen和Maven构建一个基于SpringMVC、MyBatis和Druid的数据访问层(DAO)框架。这个框架提供了基础的增删改查(CRUD)功能,是Java Web开发中的常用组合。下面我们将详细...

    Maven+Jetty下SSI框架搭建

    【标题】"Maven+Jetty下SSI框架搭建"是一个关于如何在Java环境中结合Maven构建工具和Jetty服务器来搭建Server-Side Includes (SSI)框架的教程。SSI是一种简单的服务器端包含技术,允许HTML页面动态地引用其他文件或...

    SSM+Maven+ExtJs 在eclipse中实现的增删改查例子

    通过这个例子,你可以学习到如何在Eclipse中搭建一个完整的Java Web项目,理解SSM框架如何协同工作,以及如何使用ExtJs构建交互式的前端界面。同时,也会涉及Maven的使用,以及如何通过Ajax与后端通信实现CRUD功能。...

    用Maven搭建Spring+Spring MVC+Hibernate框架

    总结起来,使用Maven在Eclipse中搭建Spring+Spring MVC+Hibernate框架涉及以下步骤: 1. 创建Maven项目,配置`pom.xml`。 2. 配置Spring和Spring MVC的XML配置文件。 3. 设置Hibernate配置,创建实体类。 4. 构建Web...

    Spring+Maven+Dubbo+MyBatis+Linner+Handlebars企业化Web开发环境搭建

    ### Spring+Maven+Dubbo+MyBatis+Linner+Handlebars企业化Web开发环境搭建 #### 后台核心业务逻辑搭建 在构建企业级Web应用的过程中,选择合适的技术栈至关重要。本篇文档旨在详细介绍如何利用Spring、Maven、...

    基于Maven+SSM 博客系统开发文档,源码和数据库

    1. **环境搭建**:安装Maven、IDE(如IntelliJ IDEA或Eclipse),设置好开发环境。 2. **创建Maven项目**:使用Maven的archetype插件生成SSM的初始项目结构。 3. **配置项目**:编写pom.xml,配置Spring、Spring MVC...

    简单的maven+SSM小项目

    2. **SSM项目结构**:一个标准的SSM项目通常包含src/main/java(源代码)、src/main/resources(资源配置)、src/main/webapp(Web应用资源)、pom.xml(Maven配置)等目录。 3. **数据库集成**:MyEclipse支持...

    eclipse 创建maven项目 选择 archetypes所用到的jar包

    通过选择`maven-archetype-webapp`或`maven-archetype-quickstart`,可以在Eclipse中快速创建Web应用或简单的Java应用项目。了解并掌握如何利用Archetypes,可以极大地提高开发效率,减少重复工作。

    struts2+maven+jetty 示例

    在Java Webapp开发中,结合Struts2、Maven和Jetty,可以实现高效的开发流程。首先,创建一个新的Maven项目,并在pom.xml文件中添加Struts2和Jetty的相关依赖。例如: ```xml &lt;groupId&gt;org.apache.struts ...

    centos maven eclipse开发换进搭建

    ### CentOS Maven Eclipse 开发环境搭建知识点详解 #### 一、Maven环境搭建 **1.1 安装Maven** **1.1.1 通过YUM安装Maven** 为了在CentOS上安装Maven,可以使用YUM(Yellowdog Updater Modified)包管理器来简化...

Global site tag (gtag.js) - Google Analytics