好久没做Web方面的开发,今天突然想弄弄SpringMVC,因为不久前又学了点Maven觉得非常好,所以在弄SpringMVC这个Web框架时想使用Maven来做,但是问题又来了,我一直是在Eclipse中使用Maven,而我以前一直用MyEclipse做Web开发(在Eclipse中做web开发个人认为一点都没MyEclipse方便,在MyEclipse中可以直接使用Tomcat调试,很是方便),那么怎样才能既使用MyEclipse又能使用Maven呢,今天作了一翻"捣鼓",写了这篇文章。

就一步一步写来吧:

1. 使用Maven创建webapp工程----原因是使用Maven时一般需要遵循一定的目录结构,虽然也可以使用不同的目录结构,但目前还不熟悉如何修改pom.xml文件达到目的,而且修改太多默认配置对maven来说也不好。

创建方法,在一个目录下使用命令:mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp。按照提示输入相应的参数,中间过程如下:

  1. D:\study\workspace4>mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
  2. [INFO] Scanning for projects...
  3. ....
  4. [INFO] Generating project in Interactive mode
  5. Define value for property 'groupId': : com.xjd
  6. Define value for property 'artifactId': : mywebapp
  7. Define value for property 'version':  1.0-SNAPSHOT: :
  8. Define value for property 'package':  com.xjd: :
  9. Confirm properties configuration:
  10. groupId: com.xjd
  11. artifactId: mywebapp
  12. version: 1.0-SNAPSHOT
  13. package: com.xjd
  14. Y: : Y
  15. ....
  16. [INFO] BUILD SUCCESS
  17. [INFO] -----------------------------------------
  18. [INFO] Total time: 1:46.199s
  19. [INFO] Finished at: Wed Nov 09 15:02:18 CST 2011
  20. [INFO] Final Memory: 6M/15M
D:\study\workspace4>mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
[INFO] Scanning for projects...
....
[INFO] Generating project in Interactive mode
Define value for property 'groupId': : com.xjd
Define value for property 'artifactId': : mywebapp
Define value for property 'version': 1.0-SNAPSHOT: :
Define value for property 'package': com.xjd: :
Confirm properties configuration:
groupId: com.xjd
artifactId: mywebapp
version: 1.0-SNAPSHOT
package: com.xjd
Y: : Y
....
[INFO] BUILD SUCCESS
[INFO] -----------------------------------------
[INFO] Total time: 1:46.199s
[INFO] Finished at: Wed Nov 09 15:02:18 CST 2011
[INFO] Final Memory: 6M/15M

最后在文件夹下创建了一个Maven的webapp工程,该工程的文件夹根目录下"mywebapp"(请查看上面的过程),该目录的结构为

  1. mywebapp
  2. +---pom.xml
  3. +---src
  4. +---main
  5. +---resources
  6. +---webapp
  7. +---index.jsp
  8. +---WEB-INF
  9. +---web.xml
mywebapp
+---pom.xml
+---src
+---main
+---resources
+---webapp
+---index.jsp
+---WEB-INF
+---web.xml

2. 激活配置MyEclipse的Maven插件---我使用的是MyEclipse8.5,它本身就带有一个叫Maven4MyEclipse的插件,只需要激活和配置一下即可。

激活方法:window-->preference-->MyEclipse-->Maven4MyEclipse, 勾选复选框(Enable Mave4MyEclipse features)。

配置方法:就在激活方法打开的节点下,有一个Maven节点,展开这个节点,主要配置其下的两个节点,如下:

Installations:  这一个节点默认使用内置的maven,我们需要使用我们安装的maven,点"add",添加一个我们外部安装的maven即可,注意添加后就勾选上。

User Settings: 默认的是C盘用户目录下的.m2/settings.xml文件,这里要配置外部安装的maven使用的配置文件,如我使用的就是maven安装目录下的conf/settings.xml文件,选择之后别忘了点击一下,下方的"Update Settings"按钮。

3. 用MyEclipse导入Maven创建的工程:

导入有两种方法这里分步讲解:

1) 使用MyEclipse的普通工程导入,步骤如下:

1> 先打开dos,在工程根目录下(mywebapp)运行: mvn eclipse:eclipse---运行完后会发现在工程目录下多出了两个文件.classpath和.project,这是eclipse的工程文件,当然myeclipse也识别

2> 在MyEclipse中使用导入功能,选择File-->Import...-->Existing Projects into workspace,选择工程目录,导入即可

3> 关联Maven,导入后的工程只是一个普通java的工程,并不会与maven插件相关连,此时在工程上点击右键-->Maven4MyEclipse-->Enable Dependency Management,这样,这个工程就与Maven插件关联了(关联后工程根节点左上角上会有一个M的标识)。

2)使用MyEclipse中的Maven工程导入,步骤如下:

1> 在MyEclipse中使用导入功能,选择File-->Import...-->Existing Maven Projects(这里不同),选择工程目录,导入即可。---这里导入进,MyEclipse可能会联网更新索引,很慢,我们可以取消(在Progress面板中点那个大红框),这时工程导进来了,但是没有执行该有的操作,比如maven的dependcy检查等,此时进行一下第2步操作。

2> 更新一下工程配置,右键工程-->Maven4MyEclipse-->Update Project Configuration

4. 补全工程的目录结构,第1步中生成的maven工程目录是不全的,比如我们的java代码,我们的测试目录等,现手动创建,和补全为如下:

  1. mywebapp
  2. +---pom.xml
  3. +---src
  4. +---main
  5. +---resources
  6. +---java   <<添加
  7. +---webapp
  8. +---index.jsp
  9. +---WEB-INF
  10. +---web.xml
  11. +---test   <<添加
  12. +---resources   <<添加
  13. +---java   <<添加
  14. +---target   <<eclipse自动添加
  15. +---classes   <<eclipse自动添加
  16. +---test-classes   <<eclipse自动添加
mywebapp
+---pom.xml
+---src
+---main
+---resources
+---java <<添加
+---webapp
+---index.jsp
+---WEB-INF
+---web.xml
+---test <<添加
+---resources <<添加
+---java <<添加
+---target <<eclipse自动添加
+---classes <<eclipse自动添加
+---test-classes <<eclipse自动添加

截图:

5. 增加MyEclipse的Web Project功能

到目前为止,我们仅仅是把一个Maven的webapp导入到了MyEclipse中,然而在MyEclipse中,这还仅仅是一个Java普通的Maven工程,这一步我们就要为其添加MyEclipse的web project特性。

选择工程-->MyEclipse-->Project Capabilities-->Add Web Project Capabilites,弹出窗口中设置参数如下,再接下来的弹出窗口中选择yes。这样我们的工程就是web工程了(注意工程图标有变化,而且MyEclipse自动依赖了JEE的包)。

6. 配置工程属性,打开工程属性面板---这一步很重要,都是些细节配置,缺一不可啊

1) Java Build Path

1> Source

添加src/main/java, src/test/java, src/test/resources为source folder, 这里就不需要详述了吧,点"add folder"就行。

最小面的"default output folder"修改为"mywebapp/src/main/webapp/WEB-INF/classes"---这点很重要

修改这些source folder的输出目录,其中main/java和main/resources输出到default output folder, 而test/java和test/resources输出到target/test-classes中,(如何修改---点击各节点下的Output Folder, 再点右边的edit按钮就行了)最后设置结果如下:

2> Order And Export

为了显示好看,调整一下显示顺序,不细说了,很简单,看下图:

2)Java Compiler

注意到上面的图片中,我的工程显示jdk为1.4,所以要修改成我们想要的版本,这里就不详述了,应该都会改。

 
3) Myeclipse-->Web
这一个是用来修改设置工程的web特性的,如下图:

 
 
好了,一个MyEclipse的Web Project + Maven webapp的工程就建好了。剩下的就是在myeclipse中开发和调试web最后用maven打包,当然一定要使用maven的依赖特性(把要依赖的jar包直接在pom.xml中加入,然后刷新工程就会自动导入)。

MyEclipse + Maven开发Web工程的详细配置过程的更多相关文章

  1. 如何使用Maven创建web工程(详细步骤)

    使用eclipse插件创建一个web project 首先创建一个Maven的Project例如以下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing ...

  2. SpringMVC+Maven开发项目源码详细介绍

    代码地址如下:http://www.demodashi.com/demo/11638.html Spring MVC概述 Spring MVC框架是一个开源的Java平台,为开发强大的基于Java的W ...

  3. maven创建web工程Spring配置文件找不到问题解决方案

    使用maven创建web工程,将Spring配置文件applicationContext.xml放在src/resource下,用eclipse编译时提示class path resource [ap ...

  4. maven创建web工程Spring配置文件找不到

    使用maven创建web工程,将Spring配置文件applicationContext.xml放在src/resource下,用eclipse编译时提示class path resource [ap ...

  5. 在Eclipse中使用Maven创建Web工程

    在Eclipse中使用Maven创建Web工程 1.创建maven Project工程,使用maven-archetype-webapp 2.在pom.xml文件中,设置打包类型为war <pa ...

  6. idea中创建maven的Javaweb工程并进行配置

    学完maven后,可以创建maven的javaweb工程,在创建完成后还需要一些配置,下面来说下具体步骤,在这里我创建的是一个模块,创建web项目的方式和创建模块一样 1.创建一个模块,点new-Mo ...

  7. 初次使用maven创建web工程发现只有一个idea目录,src,webapp目录都不见了,解决方案

    修bug系列2之 初次使用maven创建web项目的src目录不知所踪 窗外下着下雨,屋内的我学着maven,本以为轻轻松松,没想到还是遇到了bug.好了不说了,来看看我是怎么解决的. 在初次使用ma ...

  8. 01 eclipse搭建maven的web工程(3.1)

    eclipse搭建maven的web工程(3.1) 一.下载并在eclipse安装JDK环境[查看] 二.下载并在eclipse安装maven环境[查看] 三.新建maven-webapp工程: 1. ...

  9. 在MyEclipse中复制web工程时要注意的事项

    有时候我们要在MyEclipse中将一个WEB工程进行复制,然后将工程名进行重命名,但这样还是会出错,因为只改变工程名还不够,一般在MyEclipse中WEB工程的[WebRoot]目录名和工程名是一 ...

随机推荐

  1. Redux-persist使用

    redux-persist作用是将store中的数据缓存到浏览器中,减少数据请求,每当白名单中的数据发生变化,才会进行一次更新缓存的操作,并且这个数据缓存是存在localStorage中的,不是会话级 ...

  2. CSS: Grid homework redact.

    The web homework: Finished design: (I use six block with different color to show this homework and I ...

  3. CDH Spark-shell启动报错

    Spark-shell启动报错      具体报错如下: 在CDH  YARN 中修改以下两个配置: yarn.scheduler.maximum-allocation-mb 2048 yarn.no ...

  4. 十四、ChainOfResponsibility 责任链模式

    设计: 代码清单: Trouble: public class Trouble { private int number; public Trouble(int number){ this.numbe ...

  5. nginx_server_location对客户资源的辨别规则

    语法:location [ = | ~ | ~* | ^~ ] uri { …一组命令… } http://nginx.org/en/docs/http/ngx_http_core_module.ht ...

  6. java十进制转换成二进制数

    牢记这些呀,特别常用! 1.十进制转成二进制 String s = Integer.toBinaryString(n)  //将十进制数转成字符串,例如n=5 ,s = "101" ...

  7. c#: Label控件加入AutoHeight属性

    此功能在界面布局中颇为实用,录代码以记之: public class LabelEx : Label { private bool autoHeight = true; [DefaultValue(t ...

  8. Java17-java语法基础——泛型

    Java18-java语法基础——泛型 一.泛型概念和作用 1.泛型概念: 泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说,所操作的数据类型被指定为一个参数.这种参数类型可以用在类 ...

  9. JVM思考-init和clinit区别

    JVM思考-init和clinit区别 目录:JVM总括:目录 clinit和init的区别其实也就是Class对象初始化对象初始化的区别,详情看我上一篇博客: JVM总括四-类加载过程.双亲委派模型 ...

  10. redis主从复制详述

    一.主从复制详述 原理其实很简单,master启动会生成一个run id,首次同步时会发送给slave,slave同步命令会带上run id以及offset,显然,slave启动(初次,重启)内存中没 ...