`
lusterfly
  • 浏览: 101052 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

当Maven遇上MyEclipse

阅读更多

Maven有自己的一套约定目录规则,与MyEclipse的有冲突,其实结合也很简单,因为MyEclipse的目录可配置。

1 用maven创建一个web project
mvn archetype:create -DgroupId=com.lifesting -DartifactId=test -DarchetypeArtifactId=maven-archetype-webapp

2 补全某些目录
cd test/src
mkdirmain/java
mkdir test/resources
mkdir test/java

3 修改pom文件,在生成eclipse项目的时候maven eclipse plugin使用此配置
在project/build下面插入

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<projectnatures>
<java.lang.String>com.genuitec.eclipse.j2eedt.core.webnature</java.lang.String>
<java.lang.String>org.eclipse.jdt.core.javanature</java.lang.String>
</projectnatures>
<outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
</configuration>
</plugin>
</plugins>

project nature是eclipse开发中一个概念,比如加入javanature就表示此项目是一个java project,会绑定一个java builder用来编译java文件,而webnature告诉MyEclipse这是一个MyEclipse web项目,更多MyEclipse projectNature:
webservice-- com.genuitec.eclipse.ws.xfire.wsnature
facelet-- com.genuitec.eclipse.jsf.faceletsnature
jsf--com.genuitec.eclipse.jsf.jsfnature
struts--com.genuitec.eclipse.cross.easystruts.eclipse.easystrutsnature
或者在插件里面使用这个方法:

IProjectproject=ResourcesPlugin.getWorkspace().getRoot().getProject("test");
try{
String[]natures
=project.getDescription().getNatureIds();
for(Stringnature:natures)
System.out.println(nature);
}
catch(CoreExceptione){
e.printStackTrace();
}

可以将项目所有的nature打印出来

outputDirectory主要是告诉maven eclipse plugin编译输出在什么位置,默认在target/classes下面,web项目不同,应该放在src/main/webapp/WEB-INF/classes 才能够被MyEclipse package到服务器。

4 在命令行test目录下运行mvn eclipse:eclipse生成Eclipse项目。

5 在MyEclipse中将test project 导入到workspace,MyEclipse通过projectNature识别到test是一个MyEclipse web project,它会在项目目录下生成一个.mymetadata文件。再关闭MyEclipse,这么做的原因是因为默认MyEclipse的webRoot不可配置。

6 修改MyEclipse下面的.mymetadata文件,比如我的test项目文件内容为

<?xmlversion="1.0"encoding="UTF-8"?>
<project-module
type="WEB"
name
="test"
id
="myeclipse.1207117121765"
j2ee-spec
="1.4"
archive
="test.war">
<attributes>
<attributename="webrootdir"value="/WebRoot"/>
</attributes>
</project-module>

增加一行,修改一行为:

<?xmlversion="1.0"encoding="UTF-8"?>
<project-module
type="WEB"
name
="test"
id
="myeclipse.1207117121765"
context-root
="/test""
j2ee-spec
="1.4"
archive
="test.war">
<attributes>
<attributename="webrootdir"value="/src/main/webapp"/>
</attributes>
</project-module>


可以看到,增加的一行 context-root="/test" 表示web的上下文为test.
修改的一行为webrootdir的值,将/WebRoot改为maven默认的web项目source目录/src/main/webapp。

7 重新启动MyEclipse,一切搞定了,调试开发两不误。

参考资料
http://www.myeclipseide.com/PNphpBB2-viewtopic-t-17416.html

 

------------------------------------------------------------------------------------------------------------------------------------------------

Struts(Struts2.1.6)自带的例子(Maven编译的)顺利导入MyEclipse中

 

具体步骤如下(有点麻烦,以后改进):

先期工作:下载并安装成功Maven环境。

1. 下载struts2.1.6源码,在apps目录下就是例子源码

2. 修改各个工程的pom.xml文件, 在build/plugins下加入以下plugin(供生成eclipse工程用):

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<projectnatures>
<!--这句会让你在MyEclipse下看到Maven标志-一个红色M-->
<java.lang.String>com.genuitec.eclipse.maven.maven2Nature</java.lang.String>
<java.lang.String>com.genuitec.eclipse.j2eedt.core.webnature</java.lang.String>
<java.lang.String>org.eclipse.jdt.core.javanature</java.lang.String>
</projectnatures>
<outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
</configuration>
</plugin>

3. 命令行下定位到apps下,针对各例子逐个执行以下命令(以blank为例

>cd blank

>mvn eclipse:eclipse

4. 用MyEclipse导入你生成的eclipse工程,然后再移除(不是删掉内容哦!这么麻烦就是想要MyEclipse生成的.mymetadata文件)

修改.mymetadata文件为如下样式:

<?xml version="1.0" encoding="UTF-8"?>
<project-module
type="WEB"
name="struts2-blank"
id="myeclipse.1237001022359"
context-root="/struts2-blank"
j2ee-spec="1.4"
archive="struts2-blank.war">
<attributes>
<attribute name="webrootdir" value="/src/main/webapp" />
</attributes>
</project-module>

这步也可采用如下做法(测试):

第3步后,直接在工程目录下创建一个.mymetadata文件,写入以上文件内容(注意修改红色部分哦!)

修改后重新导入MyEclipse,基本就是可以用了。

5. 解决可能出现的Build Path问题

 

Tag标签: maven,myeclipse
分享到:
评论

相关推荐

    maven3+myeclipse插件

    Maven3虽然理论上支持JDK1.5及以上版本,但为了兼容性和性能考虑,建议使用较新的JDK版本,如JDK8或更高。不过,如果项目要求必须使用JDK1.7,确保MyEclipse和Maven都配置为使用这个版本的JDK,这可以通过设置...

    Maven安装配置外加Myeclipse上完美运行图解

    本资源为 Maven 安装配置的详细指南,旨在帮助用户快速搭建 Maven 开发环境,并在 MyEclipse 中进行完美运行。以下是 Maven 安装配置的详细步骤: Step 1:下载 Maven 首先,需要下载 Maven 的安装文件,并将其...

    myeclipse 上安装 Maven3

    ### 如何在MyEclipse上安装与配置Maven3 #### 环境准备 在开始配置Maven之前,确保已经正确安装并配置了以下环境: - **JDK1.6**:Maven依赖于Java运行环境,因此需要先安装JDK。 - **Maven3.0.4**:这是本教程使用...

    maven的myeclipse插件

    ** Maven的MyEclipse插件 ** Maven是一款强大的项目管理工具,主要用于构建、管理和部署Java项目。它基于项目对象模型(Project Object Model,POM),通过XML文件来描述项目配置,实现自动化构建过程,包括编译、...

    maven安装配置+myeclipse2017配置+创建maven项目

    1 下载apache-maven-3.3.9并解压 2 配置maven环境变量 (1)在系统变量栏新建变量 (2)编辑系统变量的Path,结尾添加 ;%MAVEN_HOME%\bin(注意分号) ...以上就将maven配置到了myeclipse中,就可以新建maven工程

    sonar+maven2+myeclipse代码质量监控

    ### 代码质量监控:sonar+maven2+myeclipse #### 一、Sonar环境搭建 为了确保软件项目的质量,SonarQube提供了一种全面的解决方案来管理代码的质量和复杂度。以下步骤详细介绍了如何搭建Sonar环境: 1. **安装JDK...

    maven+myeclipse

    【标题】:“maven+myeclipse”整合详解 【正文】: 在现代Java开发环境中,Maven和MyEclipse是两个重要的工具。Maven是一个项目管理和综合工具,它简化了构建、依赖管理和项目的生命周期。而MyEclipse是基于...

    svn和maven的myEclipse插件

    【标题】:“svn和maven的myEclipse插件”主要...综上所述,"svn和maven的myEclipse插件"涉及到了版本控制、项目构建管理和集成开发环境的扩展使用。通过熟练掌握这些工具,开发者可以更高效地协作开发和管理Java项目。

    替换myeclipse默认maven插件

    myeclipse自带有maven插件相难用,而且不能创建maven项目,需要独立安装,即可顺利创建maven项目。 1、删除默认的maven,在该目录下直接搜索maven,删除所有相关的jar和目录。 2、下载maven文件,从...

    maven整合myEclipse说明

    - 当pom.xml发生变化时,记得右键项目选择“Maven” -&gt; “Update Project Configuration”来同步MyEclipse的项目设置。 10. **使用Maven插件** - Maven有许多插件,比如maven-eclipse-plugin可以帮助生成Eclipse...

    myeclipse8.5配置maven

    可能你会发现项目图标上有一个小红叉,这是因为MyEclipse尚未与Maven关联。只需右键点击项目,选择`Maven4Myeclipse -&gt; Enable Dependency Management`,项目就成功变为Maven项目,左上角会出现"M"标志,表示配置...

    myeclipse从svn服务器上检出maven工程

    ### MyEclipse从SVN服务器上检出Maven工程 #### 一、前言 在进行软件开发的过程中,经常会遇到需要从版本控制系统如Subversion (SVN) 中检出项目到本地开发环境中进行开发的情况。如果这个项目还涉及到构建工具如...

    Myeclipse maven插件下载

    MyEclipse是一款强大的Java集成开发环境,它在Eclipse的基础上扩展了许多功能,尤其对Java EE项目的开发提供了更多支持。在现代软件开发过程中,Maven是一个不可或缺的构建和管理工具,它帮助开发者统一构建过程,...

    maven2.0.9在myeclipse6.5下的配置及资源下载

    在MyEclipse 6.5这样的集成开发环境中配置Maven可以帮助开发者更高效地工作,实现自动化构建、测试和部署。下面将详细介绍如何在MyEclipse 6.5中配置Maven 2.0.9以及相关的资源下载。 首先,你需要下载Maven 2.0.9...

    myeclipse安装maven.zip

    "意味着这个压缩包中包含的是针对MyEclipse 6.6版本的Maven插件,并且已经有人进行了实际测试,确认该插件可以在这个版本的MyEclipse上正常运行。这通常是开发者为了简化MyEclipse中的Maven集成步骤而提供的一种便捷...

    MyEclipse6.5对应maven包

    "MyEclipse6.5对应maven包"指的是专门为MyEclipse 6.5设计的一组Maven相关组件,用于添加Maven支持。 1. Maven简介:Maven是一个项目管理和综合工具,它帮助开发者管理项目的构建、报告和文档生成。Maven通过使用一...

    apache-maven-3.2.2 myeclipse 的安装配置(免积分的哦)

    在本文中,我们将讨论如何在MyEclipse集成开发环境中安装和配置Apache Maven 3.2.2版本。 **1. Maven的安装** Maven的安装过程相对简单,基本步骤如下: - **下载Maven**:首先,你需要从Maven官方网站或者第三方...

    手动快速在myeclipse上安装maven插件

    在IT行业中,集成开发环境(IDE)如MyEclipse是Java开发者的重要工具,而Maven则是项目管理和构建的利器。本文将详细介绍如何手动在MyEclipse中安装Maven插件,帮助开发者提升工作效率。 首先,我们需要理解Maven的...

    Maven安装配置(Myeclipse).rar_maven

    ** Maven安装配置在Myeclipse中的详细步骤及注意事项 ** Maven是一款强大的项目管理工具,它可以帮助Java开发者管理和构建项目,自动解决项目的依赖关系。在Myeclipse集成开发环境中,集成Maven可以使得项目管理...

    apache-maven-2.2.1.rar maven myeclipse插件

    2. **配置Maven本地仓库**:Maven会下载依赖的库文件到本地仓库,需要在MyEclipse的Maven设置中指定这个路径。通常默认路径是`~/.m2/repository`,但可根据个人需求进行修改。 3. **设置Maven全局设置**:这包括...

Global site tag (gtag.js) - Google Analytics