Myeclipse中maven多项目搭建总结

刚刚完成了一个将已有的工程分解成三个子工程的任务,在网上查资料遇到了无数的坑,终于自己都填完了。
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在自动打包这方面的来说挺好的, 然后用它管理多项目工程,一次升级处处有效,这样的确可以带来很好的管理模式。不过如果只是快速搭建工程,没有这个必要。


阅读更多
个人分类: java
上一篇网易有道2017内推编程题-Java实现
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭