关闭

Myeclipse中maven多项目搭建总结

标签: javaspringmaven多项目
543人阅读 评论(0) 收藏 举报
分类:
刚刚完成了一个将已有的工程分解成三个子工程的任务,在网上查资料遇到了无数的坑,终于自己都填完了。
PS:这个工程使用的是Spring框架。
这是四个工程的结构:
这个任务的最终目标是:分解好后使用Nginx将不同的请求分发到单独的工程中,使用Hazelcast分享session数据,这样就将一个工程分解成了四个,降低了系统间的耦合。

首先要明白,不要在意网上说的动态工程(Dynamic Web Module)! 现在建起来的基本都是动态工程,随便向tomcat里发,只要选择webapp就可以。
使用JDK1.6打包,经常会出现jvm堆溢出的错误,如果java类过多,如何更改编译使用的内存都没办法消除这个错误。不过如果更改JDK版本使用1.7或1.8则会没事。
更改maven工程有使用的JDK
有三个位置,这三个位置的JDK版本一定要保持一致

项目--右键--属性-->

Java Build Path--查看jdk版本

Java Compiler  -- 查看版本

Project Facets -- 查看java版本


1.新建工程
新建一个maven project proA(Myeclipse里有两个Maven project选项,选择哪个都一样),三个Maven module,我尝试的方法中只有这样才能使proA 作为三个modules的parent。
四个项目都要选择webapp在新建Maven Project 如果出不来可选择Maven项目,稍等即可,这是在和网络上进行同步。)
因为我只是拆开工程,建好之后只要将src下的文件导入到的main/java中,工程名下的所有文件拷入到main/webapp(只要这样就可以,不需要test下也有相同的结构,有没有test也无所谓),拷完之后记得改web.xml里面使用的工程名。
新建proA后,要先将proA的pom.xml里面的packing改为pom,这样才可以使proA成为其余三个的父亲
<packaging>pom</packaging>

2.打包:
Maven打包时的jvm参数修改


在pom里增加如下的build内容,这样使maven在编译时可以使用本地的jar包
<build>
<finalName>bpfactory</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>src\main\webapp\WEB-INF\lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
如果提示javax不存在的话就将tomcat目录下lib里的servlet-api.jar放入JDK目录下的\jre\lib\ext文件夹中。


因为web工程和waven工程不一样,所以我建议直接将编译目录改为target/dcase/WEB-INF/classes,这样编译的class直接放入了工程中。这样再build就只是一个复制的过程。
最后,按我的方式打包使用build就可以

因为只研究了一个星期,只涉及了工程搭建,没有涉及到jar包的继承和各种花式打包。老板说他有一万种方式给工程升级,所以o(╯□╰)o

个人觉得maven在自动打包这方面的来说挺好的, 然后用它管理多项目工程,一次升级处处有效,这样的确可以带来很好的管理模式。不过如果只是快速搭建工程,没有这个必要。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2163次
    • 积分:108
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档