maven终于能出包了

上一篇 / 下一篇  2010-12-16 16:11:14 / 个人分类:maven

 学习maven近一个多月了,中间因为个人的事情,所以没有全力学习,但对概念的东西掌握了一些,但很多技术细节还是似懂非懂的,但还是拿一个真实的项目进行编译学习。
 一个月下来,感觉maven真是学的很累,虽然不断的参阅《maven指南》,但真实项目比指南中的复杂,于是不断的在网上寻找着问题的解决,然后一步一步的前进。
  终于代码能编译出来了,但最大的问题也随之而来,如何打包,特别在最后的资源拷贝中,试了很久,都无法把资源放到一起,先是class文件,然后是web-inf中的lib等文件,不断调试后,在网上找了近一周,才把资源都放在一起,但在打包过程中,assembling又会重新结构包的目录,所以老在打包中出现死循环的情况,最后发现还是自定义了输出目录惹的祸,去掉自定义输出目录后,感觉就简单多了。定义好包名就行了,展示下我父pom中的build部分:
 <build>
    <!-- 命令行输入时,默认执行mvn package -->
    <!--  defaultGoal>package</defaultGoal>-->
    <!-- 设定classes输出到WebRoot/WEB-INF/classes中 -->
    <sourceDirectory>java</sourceDirectory>
    <outputDirectory>target/classes</outputDirectory>
    <resources>
       <resource>
          <directory>java\dao</directory>
          <includes>
             <include>**/*.hbm.xml</include>
          </includes>
       </resource>
       <resource>
          <directory>resources/cxf</directory>
       </resource>
       <resource>
          <directory>resources/dao</directory>
       </resource>
       <resource>
          <directory>resources</directory>
          <excludes>
             <exclude>cxf/*.xml</exclude>
             <exclude>dao/*.xml</exclude>
          </excludes>
       </resource>
  
    </resources>

    <plugins>
       <!-- war插件 -->
       <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.1.1</version>
          <extensions>false</extensions>
          <inherited>true</inherited>
          <configuration>
             <warName>ecis_ws</warName>
             <webXml>WEB-INF/web.xml</webXml>
             <outputDirectory>ll/web-inf</outputDirectory>
             <!--  <warSourceDirectory>WEB-INF</warSourceDirectory>-->
             <webResources>
                <resource>
                    <directory>\</directory>
                </resource>
             </webResources>
           
          </configuration>
       </plugin>
       <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2-beta-5</version>
          <configuration>
             <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
             </descriptorRefs>
          </configuration>
       </plugin>
       <!-- 设定JDK版本及编码,同时设定外部引用的jar包 -->
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>2.3.2</version>
           <configuration>
              <source>1.5</source>
              <target>1.5</target>
              <encoding>UTF-8</encoding>
              <optimize>true</optimize>
              <compilerArguments>
               <extdirs>E:\maven-test\ecis_ws\WebRoot\WEB-INF\lib</extdirs>
             </compilerArguments>
           </configuration>
       </plugin>

    </plugins>
 </build>
请多多指教,里面还是有很多可以优化的,以及自动部署部分的plugin还未加入。希望可以和更多的朋友探讨maven,这是个难理解,学习时间较长的自动构建工具,但看到自动打包后能用的东西,心里还是感觉蛮爽的。

TAG:

 

评分:0

我来说两句

Open Toolbar