转自:http://b-l-east.iteye.com/blog/1246482
好久没做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。按照提示输入相应的参数,中间过程如下:
- 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
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"(请查看上面的过程),该目录的结构为
- mywebapp
- +---pom.xml
- +---src
- +---main
- +---resources
- +---webapp
- +---index.jsp
- +---WEB-INF
- +---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代码,我们的测试目录等,现手动创建,和补全为如下:
- mywebapp
- +---pom.xml
- +---src
- +---main
- +---resources
- +---java <<添加
- +---webapp
- +---index.jsp
- +---WEB-INF
- +---web.xml
- +---test <<添加
- +---resources <<添加
- +---java <<添加
- +---target <<eclipse自动添加
- +---classes <<eclipse自动添加
- +---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,所以要修改成我们想要的版本,这里就不详述了,应该都会改。