目前公司项目是以maven模块的方式搭建的,其中有7个模块,但是有的模块是jar项目,有的模块是war项目
以前我都是单个项目直接打包运行的,现在有很多模块,而且有的是jar有的是war(web项目)
而且人家给我演示的时候直接运行起来了war的那个模块
我现在不知道该怎么打包这种项目,怎么运行,模块与模块之间有引用,而且用的容器是内嵌的jetty
【主要是我以前没有用过模块,求大神解释】
目前公司项目是以maven模块的方式搭建的,其中有7个模块,但是有的模块是jar项目,有的模块是war项目
以前我都是单个项目直接打包运行的,现在有很多模块,而且有的是jar有的是war(web项目)
而且人家给我演示的时候直接运行起来了war的那个模块
我现在不知道该怎么打包这种项目,怎么运行,模块与模块之间有引用,而且用的容器是内嵌的jetty
【主要是我以前没有用过模块,求大神解释】
上面的回答格式乱了,抱歉。
这里面主要涉及聚合模块以及父子模块继承的问题。掌握好就可以了。
假如你有一个项目名称为PRJ,依赖下面的三个模块,分别是common,service,以及web,
目录结构如下:
PRJ ...聚合模块,packaging方式为pom,这个很关键,然后modules要列出它的子模块
+common ...JAR
+service ...JAR,依赖common
+web ...WAR,依赖common和service,注意packaging方式为war
那么可以这么写pom文件
1.PRJ项目的pom.xml:
<groupId>g</groupId>
<artifactId>a</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>common</module>
<module>service</module>
<module>web</module>
</modules>
2.common模块的pom.xml:
<parent>
<groupId>g</groupId>
<artifactId>a</artifactId>
<version>1.0</version>
</parent>
<artifactId>common</artifactId>
3.service模块的pom.xml:
<parent>
<groupId>g</groupId>
<artifactId>a</artifactId>
<version>1.0</version>
</parent>
<artifactId>service</artifactId>
3.web模块的pom.xml:
<parent>
<groupId>g</groupId>
<artifactId>a</artifactId>
<version>1.0</version>
</parent>
<artifactId>web</artifactId>
<packaging>war</packaging>
只要你目录关系正确,那只要模仿上面方式,你针对PRJ或者web进行mvn clean install处理,是可以正常打包的。
至于里面的依赖关系dependencies的写法,我就省略了,希望能对你有所帮助。