真正的舍弃了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