舍弃MyEclipse,构建自己的MAVEN开发平台

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值