注:我的环境为:myeclipse7.5和maven2.2;myeclipse7.0自带的好像是maven1.*(未查证),所以步骤可能不能,推荐使用maven2 1.修改目录 先要将目录结构改为maven项目的目录结构做法是: A:先将原src重命名为”Java”,(如果使用svn改完命后要先提交,不然不让建立src目录) B:建立”src”目录,在src下建立”main”目录,把重命名的”java”目录拽到”main”下,这时如果”java”变为普通目录,那么把它改为源码目录(右键->build path-> use as source folder) C: 把原来的WebRoot目录重命名为”webapp”,把它拽到”main”下 D:建立其它所需目录,src/test/java(源码目录) ; src/test/resources ; src/main/resources ;target等. 由于改变了目录所以现在项目已经无法再用原来的方法部署了,现在做下一部改下目录的设置让项目可以用原方法部署 2.将 webapp设置WebRoot目录 到工作目录你的项目下的.mymetadata(隐藏)文件中的 改为 修改项目下的.classpath文件 中的 源码输出路径为: 修改 主输出路径为: 重启eclipse,现在又可以以原来的方法部署项目了。 3.建立pom.xml文件和对相关框架的依赖 新建一个web project项目并让为它添加maven支持,然后再这个项目中加入你所使用的框架支持如:hibernate,spring,jsf等所有你需要并myEclipse可以提供的支持(这个过程可能要等一段时间,因为maven会自动到主镜像站下载所需的jar包和pom文件到本地库),这时MyEclipse会为你在pom中加入你所需要的依赖关系。把这个pom.xml 文件拷到你的项目根目录并修改groupId和artifactId为你的项目的名子,现在在为项目加入一个maven的Build配置,让MyEclipse认为这个项目是一个Maven项目,修改项目下的.project文件 : buildSpec小节 加入 : org.maven.ide.eclipse.maven2Builder natures小节中加入 org.maven.ide.eclipse.maven2Nature 重启Eclipse,发现现在项目文件夹上已经有一个M图标了,说明Eclipse已经认为这是一个Maven项目了 注:为了能使项目还能以原来的方法部署现在暂时不要删除原来引用jar的的Build path,在最后再删除它们 4.加入其它jar包的依赖 现在的pom.xml文件已经有了我们所需框架的jap依赖定义了,但是你可能和我一样有一些其它jar包的依赖要把它加入到pom.xml文件,做法如下:先到maven的库查询网站去查找你所需的jar文件(注意版本),如果找到直接把它加入到你的pom.xml文件中,如: mx4j mx4j 3.0.1 这时maven会自动到maven库中去下载这个jar和这个jar所依赖的jar ,注意在你的maven更新过程中可能出现存在循环依赖的提示,这是因为你所加入的其它包中已经通过依赖关系加入了这个jar包,而你又手到加入了这个包,所以你只要放心的把你手动加入的依赖包定义删除就行了。由于Maven会自动加入包的依赖关系,所以很可能会造成包的冲突,遇到最多的应该是hibernate的asm包冲突,这时你可以定义一下要求hibernate不下载指定的依赖jar,像这样: org.hibernate hibernate 3.2.5.ga asm asm asm asm-attrs cglib cglib
另外我还遇到了xfire的spring1.2和我使用的spring2.0冲突 org.codehaus.xfire xfire-spring 1.2.6 org.springframework spring org.springframework spring-mock
现在已经为项目加入了maven远程库中已有的jar支持了,但是有可能像我一样还需要一些在maven远程库中不存在的jar,像这样的问题有两个解决办法一种是在公司内部自已架一个maven库,这种做法很费力,但如果你的公司很大,并且有很多maven项目的话,用这种方法就比较实用和方便的,我用的是第二种方法,直接把所需的jar加入到本地库上,并在pom中引用,方法如下: A:你要先下载一个maven装到你的机器中(不知道怎样直接使用MyEclipse的maven),装好后在命令行运行mvn -v 如果正确反回则安装成功(安装很简单,解压后设下环境变量就行了,一个是M2_HOME,并把你的%M2_HOME%/bin加入到path中,另外确保你有JAVA_HOME的环境变量) B:运行mvn命令将jar加入到本地库,这是我加入一个shark包的命令如下: mvn install:install-file -Dfile=sharkcaching-lru.jar -DgroupId=com.dgsoft.extend -DartifactId=sharkcaching-lru -Dversion=2.2.1 -Dpackaging=jar 注意修改为你的。参数依次为:jar文件名,组织名,定义名,版本,类型。 C:把你加入的jar定义到pom.xml,针对上面的有如下定义: com.dgsoft.extend sharkcaching-lru 2.2.1 D:如果你也和我一样有很多这样的包,那么和以写一个.bat文件(我在Linux下是.sh),方便以后加入,另外我还用DELPHI写了一个自动查找文件夹下的*.jar文件并自动生成安装jar到本地库的bat(或sh)文件和pom.xml文件的小程序,如果有需要可以给我留言,我可以传上来。 现在万事俱备,只欠东风了,下面做最后一步 5.修改项目的包引用为pom.xml所设置的依赖。 现在我们可以把原来项目的包引用改成使用maven的依赖库了,做法很简单,修改你项目的.classpath配置文件,把原来的包引用全部删除,并加入maven的依赖引用,我的.classpath文件最后是这样的,发出来为大家做参考