都是现成的东西了,但突然要建新的开发环境,一下子想不起来要去翻书,很耗时间。现将eclipse开发环境中maven的配置要点记录如下,以备不时之需。
m2eclipse插件可以在eclipse的market place中找到,在安装这个插件之前,需要安装其依赖的几个插件。Subeclipse提供m2eclipse与subversion交互的能力;Mylyn提供与jira集成的能力;WTP (web tool platform);安装好这三个插件之后就可以安装m2eclipse插件了。
另外,需要单独安装一个独立于eclipse的maven工具,安装很简单,下载解压后,在windows系统设定里设定path和M2_HOME这两个变量即可。
在eclipse中配置一下maven,将maven的Installations配置成使用外部安装的maven。
接下来配置一下位于用户目录下的.m2/settings.xml文件,按照自己的要求进行一些配置,如下是我常用到的一些配置:
<server>
<id>release</id>
<username>admin</username>
<password>pass</password>
</server>
<server>
<id>snapshot</id>
<username>admin</username>
<password>pass</password>
</server>
<server>
<id>TomcatServer</id>
<username>tomcat</username>
<password>pass</password>
</server>
</servers>
以上配置的是nexus仓库提交jar时所需要的用户和tomcat发布war包是tomcat的用户。
<mirrors>
<mirror>
<id>localRepo</id>
<mirrorOf>*</mirrorOf>
<name>Local Repository</name>
<url>http://10.224.118.106:8081/nexus/content/groups/public/</url>
</mirror>
</mirrors>
以上是配置对现有仓库的镜像仓库,mirrorOf是指替代哪一个仓库,*代表所有,还可以是central,或者使用表达式*,!cental,意思是替代所有但除了central仓库外。
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<release.type>dev</release.type>
</properties>
</profile>
</profiles>
以上是配置特定场景,maven可以根据参数值的不同来激活不同的profile。此处设定默认激活的选项,在pom.xml中写上几种profile的内容:
<profiles>
<profile>
<id>dev</id>
<activation>
<property>
<name>release.type</name>
<value>dev</value>
</property>
</activation>
<properties>
<web.server.ip>127.0.0.1:8080</web.server.ip>
</properties>
</profile>
<profile>
<id>stg</id>
<activation>
<property>
<name>release.type</name>
<value>stg</value>
</property>
</activation>
<build>
<finalName>forum</finalName>
</build>
<properties>
<web.server.ip>10.224.104.183</web.server.ip>
</properties>
</profile>
<profile>
<id>prod</id>
<activation>
<property>
<name>release.type</name>
<value>prod</value>
</property>
</activation>
<properties>
<web.server.ip>127.0.0.1:8080</web.server.ip>
</properties>
</profile>
</profiles>
另外,如果遇到eclipse引用的maven库文件被删除的情况,那需要在dos窗口下,到项目目录下再运行一下mvn eclipse:eclipse,这样.classpath会被重新生成,到eclipse里刷新一下就能看到被引用的库又出现了。