真正的舍弃了MyEclipse,舍弃了使用了2年多的WebRoot构建方式
maven2.0,我的新的项目构建方式,新的项目管理方式
maven也接触了一年半了,以前用到似乎只是一些lib包的依赖管理,并没有真正通过maven来构建项目
前段时间被myeclipse整烦了,平台反应太慢,test过程消耗太长时间,经常性抛出update programe异常,
以及破解带来的一些罪恶感等等
把心一横,就废弃了它
maven它基于每个项目定义的模型,特征有:
依赖管理
远程仓库
maven它提倡:
一组标注
一个一般的接口
一个生命周期
一个标准的仓库格式
一个标准的目录布局
maven的核心是声明性构建,依赖管理,仓库管理,基于插件的高度和重用
maven:http://maven.apache.org/
eclipse:http://www.eclipse.org/
eclipse的maven插件:http://maven.apache.org/plugins/maven-eclipse-plugin/
web项目:
1.创建项目
1)packaging采用war
<packaging>war</packaging>
2.插件管理
<build>
<testResources>
<testResource>
<directory>${basedir}/src/test/resources</directory>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId> <!-- jetty插件 -->
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version> <!-- jetty插件版本 -->
<configuration>
<webAppConfig>
<contextPath>/expopo</contextPath><!-- jetty插件启动后访问路径 -->
</webAppConfig>
<webApp>${basedir}/target/expopo.war</webApp><!-- jetty插件生成的war路径 -->
<!-- <reload>manual </reload> --> <!-- 强制手动重启 -->
<scanIntervalSeconds>10</scanIntervalSeconds> <!-- 代码修改后多少时间重启 -->
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>4000</port> <!-- jetty插件端口号 -->
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId><!-- 打包war插件 -->
<version>2.0</version>
<configuration>
<warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory><!-- 打包war所需web资源路径 -->
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</plugin>
</plugins>
</build>
3).jetty问题
默认urlencoding为ISO-8859-1,中文会出现乱码,网上google很久没找到解决办法
好像需要修改 jetty源码,虽然说jetty比tomcat要更轻量级,但是他对中文的处理视乎不够完美
而且我们大部分的项目都在tomcat上跑,所以决定不进一步的研究jetty,等有时间在好好研究一下jetty
4).sysdeo-tomcat 发布测试
a)下载与安装
eclipse插件:http://www.eclipsetotale.com/tomcatPlugin.html
eclipse插件安装后:
复制$eclipse_plugin_home/com.sysdeo.eclipse.tomcat_3.2.1/DevLoader.zip到tomcat/lib目录, 并改名为DevLoader.jar,这样tomcat会自动复制~/.m2相关的lib包
b) pom.xml中加入tomcat插件
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sysdeo-tomcat-maven-plugin</artifactId>
<version>1.1</version>
</plugin>
c) 部署
①eclipse设置
windows->preferences->tomcat->advanced,选择tomcat目录
windows->preferences->tomcat->JVM setting,选择jre
②mvn sysdeo-tomcat:generate 生成为可通过sysdeo发布的工程
refresh项目后右键可以看到Tomcat project菜单
③右键项目->Properties->Tomcat项目属性中,Tomcat->DevLoader Classpath选项卡中勾选 Activate DevLoader, 然后再勾选你需要加载的项目,按Apply就OK了。
常用管理操作及指令
mvn war:war
mvn dependency:tree -------------------查看项目依赖树
mvn test
mvn install -------------------项目打包并安装到本地版本库(.m2目录)
mvn eclipse:eclipse
mvn clean --------------------清理整个target目录
mvn package
忽略单元测试失败
1.在pom.xml加入:
<plugin> <grounpId>org.apache.maven.plugins</grounpId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin>
2.mvn install -Dmaven.test.skip=true