使用Maven的准备工作包括下载,配置环境变量,安装Maven plugin for Eclipse,并在Preferences中,Java/Build Path/Classpath Variables/下面配置M2_REPO变量,使其指向userhome\.m2\repository
关于Maven的入门知识在此略过,请自行阅读Maven官方站点的相关资料。
在创建工程时,请将src目录指向src/main/java,output目录指向target/classes
工 程创建完毕后,右击工程名,在弹出菜单中选中“Maven2“,然后选择”Enable“,则会生成对应的pom文件,我们可以自己设置对应的 groupid,artifactId,以及相应的dependencies,在这里,我们只需要为Eclipse插件依赖以外的第三方包设置 dependency就可以了。如果该包在官网上无法访问到,则可以通过运行
mvn install:install-file -Dfile=path-to-your-artifact-jar \
-DgroupId=your.groupId \
-DartifactId=your-artifactId \
-Dversion=version \
-Dpackaging=jar \
-DgeneratePom=true
来把第三方包安装到local repository里面去。
然 而,在plugin project运行时,除了Eclipse插件依赖以外的第三方包是需要位于plugin目录下的,否则在运行时无法找到对应路径,我们也可以看到,在 plugin.xml视图的runtime页面中,根本无法把plugin目录以外的jar文件加入到classpath中来。所以,我们还需要另外的 ant脚本来完成拷贝工作。脚本如下所示:(此处参考了江南白衣,有一点不同的是,此处把ant的classpath指向了local repository,这样发布的时候,就无需发布maven-artifact-ant.jar了)
接下来的目录结构及脚本的准备工作和前面一样,除了两处需要修改:xml version="1.0" encoding="UTF-8"?> <project name="build-base" default="copy" xmlns:artifact="urn:maven-artifact-ant"> <typedef resource="org/apache/maven/artifact/ant/antlib.xml"uri="urn:maven-artifact-ant"> <classpath> <pathelement location="${user.home}/.m2/repository/org/apache/maven/maven-artifact-ant/2.0.4/maven-artifact-ant-2.0.4.jar" /> <!--</span-->classpath> <!--</span-->typedef> <artifact:pom id="maven.project" file="pom.xml" /> <artifact:dependencies filesetId="dependency.fileset" useScope="runtime"> <pom refid="maven.project"/> <!--</span-->artifact:dependencies> <target name="copy"> <copy todir="lib"> <fileset refid="dependency.fileset" /> <mapper type="flatten" /> <!--</span-->copy> <!--</span-->target> <!--</span-->project>
1)buildConfiguration\build.properties, 这里的buildDirectory可以注释掉。
2)第3步中的ant脚本,因为我们这里需要用maven来构建,所以只需要执行prepare任务就可以了。
再有就是pom.xml文件中,要加入构建的任务:
<build> <plugins> <plugin> <groupId>org.codehaus.mojo<!--</span-->groupId> <artifactId>pde-maven-plugin<!--</span-->artifactId> <extensions>true<!--</span-->extensions> <configuration> <eclipseInstall>G:\eclipse<!--</span-->eclipseInstall> <pdeProductFilename>hellorcp.product<!--</span-->pdeProductFilename> <pdeBuildVersion>3.2.0.v20060603<!--</span-->pdeBuildVersion> <!--</span-->configuration> <!--</span-->plugin> <!--</span-->plugins> <!--</span-->build>
最后运行第3步中的ant脚本,然后到dist\plugins\hellorcp目录下,运行mvn install就可以了。构建后的文件可以在
local repository中找到。
常见错误:
使用ant build的时候,出现plugin:xxx找不到的错误,请检查buidConfiguration\build.properties中buildDirectory的配置项
使用Maven build的时候,出现编译错误,请检查pom.xml中是否少了
<packaging>zip</packaging>
这一项