码迷,mamicode.com
首页 > 其他好文 > 详细

maven学习心得

时间:2014-06-04 20:17:39      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:des   c   style   class   blog   code   

心得:这几天一直在研究maven的配置,还真是伤心啊,网上资料不多,而且问题不断.确实很让人头疼

背景:之所以学习maven是因为我们需要一键部署,我们项目是已经差不多完成了,是eclipse的web项目,需要将它变成maven项目

问题:

1.拆分项目为多个模块解决循环依赖

如果一个web项目下面有A,B,C三个模块,各个模块互相依赖,这是maven会提示,这是一个循环依赖,而不能正常编译项目.

解决办法:http://hck.iteye.com/blog/1728329

但是建议最好模块分清楚

2.怎样项目使用本地的lib当中jar包,而不是maven仓库

我是使用这种:

bubuko.com,布布扣
<dependency>
    <groupId>asm-attrs</groupId>
    <artifactId>asm-attrs</artifactId>
    <version>3.1</version>
    <scope>system</scope>
    <systemPath>D:/eclipse/keplerworkspace/pmis/src/main/webapp/WEB-INF/lib/asm-attrs.jar</systemPath>
</dependency>
bubuko.com,布布扣

maven的scope提供几种类型,其中system表示不从maven仓库中找,systemPath表示jar包的地址, 其他可以随便填,但是,请注意不要和maven仓库的路径一样

网上也有使用插件的方式,我也试过了,但是没有成功

3.多个jar包组成一个jar

bubuko.com,布布扣
<plugin>  
                <groupId>com.jolira</groupId>  
                <artifactId>onejar-maven-plugin</artifactId>  
                <version>1.4.4</version>  
                <executions>  
                    <execution>  
                        <configuration>  
                            <attachToBuild>true</attachToBuild>  
                            <classifier>onejar</classifier>  
                        </configuration>  
                        <goals>  
                            <goal>one-jar</goal>  
                        </goals>  
                    </execution>  
                </executions>  
            </plugin>  
bubuko.com,布布扣
bubuko.com,布布扣
<dependencies>
      <dependency>
          <groupId>com.fbi</groupId>
          <artifactId>fbi-core</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      </dependency>
  </dependencies>
bubuko.com,布布扣

这个可以是你的java项目打包成一个可以运行的jar包,但是别忘记加入依赖哦, , , 这个是针对java项目的

4.多web项目合并

bubuko.com,布布扣
<build>  
    <finalName>bpmcenter</finalName>  
    <plugins>  
      <!-- 合并多个war -->  
      <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-war-plugin</artifactId>  
        <configuration>  
          <packagingExcludes>WEB-INF/web.xml</packagingExcludes>    
          <overlays>  
            <overlay>  
              <groupId>com.founder.fix.fixflow</groupId>  
              <artifactId>fixflow-webapp-taskcenter</artifactId>  
            </overlay>   
          </overlays>  
        </configuration>  
      </plugin>  
    </plugins> 
</build>
bubuko.com,布布扣

可以百度一下overlay,这里可以填入多个要合并的项目,只要加入项目的groupId就行,但是也要加入依赖哈

推荐地址:http://www.tuicool.com/articles/ArE3iaA

但是我试过了,如果两个项目之间有依赖的话,会报错说找不到依赖的类,所以如果你要依赖于java的类的话,最好是将java类做为一个公共的东西,然后大成jar包让web项目使用,实际上就是加入dependency就可以咯

 

 

maven学习心得,布布扣,bubuko.com

maven学习心得

标签:des   c   style   class   blog   code   

原文地址:http://www.cnblogs.com/zhangtingting/p/maven.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!