猿问

请问几个关于maven模块的问题

目前公司项目是以maven模块的方式搭建的,其中有7个模块,但是有的模块是jar项目,有的模块是war项目

以前我都是单个项目直接打包运行的,现在有很多模块,而且有的是jar有的是war(web项目)
而且人家给我演示的时候直接运行起来了war的那个模块

我现在不知道该怎么打包这种项目,怎么运行,模块与模块之间有引用,而且用的容器是内嵌的jetty

【主要是我以前没有用过模块,求大神解释】


慕姐4208626
浏览 266回答 2
2回答

慕码人2483693

这里面主要涉及聚合模块以及父子模块继承的问题。掌握好就可以了。假如你有一个项目名称为PRJ,依赖下面的三个模块,分别是common,service,以及web,目录结构如下:PRJ ...聚合模块,packaging方式为pom,这个很关键,然后modules要列出它的子模块+common ...JAR+service ...JAR,依赖common+web ...WAR,依赖common和service,注意packaging方式为war那么可以这么写pom文件1.PRJ项目的pom.xml:&nbsp;&nbsp;&nbsp;&nbsp;<groupId>g</groupId> &nbsp;&nbsp;&nbsp;&nbsp;<artifactId>a</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;<version>1.0</version> &nbsp;&nbsp;&nbsp;&nbsp;<packaging>pom</packaging> &nbsp;&nbsp;&nbsp;&nbsp;<modules> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<module>common</module> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<module>service</module> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<module>web</module> &nbsp;&nbsp;&nbsp;&nbsp;</modules>2.common模块的pom.xml:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<parent> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>g</groupId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>a</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<version>1.0</version> &nbsp;&nbsp;&nbsp;&nbsp;</parent> &nbsp;&nbsp;&nbsp;&nbsp;<artifactId>common</artifactId>3.service模块的pom.xml:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<parent> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>g</groupId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>a</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<version>1.0</version> &nbsp;&nbsp;&nbsp;&nbsp;</parent> &nbsp;&nbsp;&nbsp;&nbsp;<artifactId>service</artifactId>3.web模块的pom.xml:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<parent> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>g</groupId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>a</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<version>1.0</version> &nbsp;&nbsp;&nbsp;&nbsp;</parent> &nbsp;&nbsp;&nbsp;&nbsp;<artifactId>web</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<packaging>war</packaging>只要你目录关系正确,那只要模仿上面方式,你针对PRJ或者web进行mvn clean install处理,是可以正常打包的。至于里面的依赖关系dependencies的写法,我就省略了,希望能对你有所帮助。

精慕HU

jar包是被war包依赖的吧,war包是在服务器端运行的,打包的时候直接在父项目的pom路径下 mvn clean package -DskipTests就可以了,首次打包的话用mvn clean install -DskipTests
随时随地看视频慕课网APP
我要回答