怎样把Maven项目共享为传统Web项目

Maven的优点有很多,几个突出的比如说

1.代码库的存在

2.依赖管理

3.自动找到对应的javadoc和src

4.众多的插件支持

 

当然也有不足,比如说

1.代码库有的lib包结构混乱存在冗余

2.找到的所有lib总是>=预期

3.也有10%找不到javadoc和src

4.插件执行参数繁琐

 

现在考虑这种情况:如果团队成员都没有采用Maven,SVN上的也是个传统Web项目

想直接检出为Maven项目或者直接提交是不太可能了,如果还是坚持使用呢?

 

我们的思路是这样:Maven项目->传统Web项目->SVN

反过来也是:SVN->传统Web项目->Maven项目

 

首先建个Web项目,添加Maven支持

技术分享

使用传统结构

技术分享

现在需要把src和WebRoot原样映射,然后得到所有的lib

技术分享

这里用到一个插件:技术分享

能够自动把源文件夹的更改同步到目标文件夹

技术分享

一旦需要的依赖已经全部准备完毕,更改pom.xml

<plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory>
          <version>3.0</version>
          <failOnMissingWebXml>false</failOnMissingWebXml>
           <warSourceDirectory></warSourceDirectory>  打包来源设为空,因为只需要得到所有lib,从来不需要真正的打包
        </configuration>
      </plugin>

运行 war:exploded  打包为文件夹结构,因为来源为空,结果只生成了lib

技术分享

最后一步,同步lib

技术分享

 

大功告成!!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。