为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕姐4208626 2018-07-06 11:11:00
目前公司项目是以maven模块的方式搭建的,其中有7个模块,但是有的模块是jar项目,有的模块是war项目以前我都是单个项目直接打包运行的,现在有很多模块,而且有的是jar有的是war(web项目)而且人家给我演示的时候直接运行起来了war的那个模块我现在不知道该怎么打包这种项目,怎么运行,模块与模块之间有引用,而且用的容器是内嵌的jetty【主要是我以前没有用过模块,求大神解释】
查看完整描述

2 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

这里面主要涉及聚合模块以及父子模块继承的问题。掌握好就可以了。

假如你有一个项目名称为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的写法,我就省略了,希望能对你有所帮助。


查看完整回答
反对 回复 2018-07-18
?
精慕HU

TA贡献1845条经验 获得超8个赞

jar包是被war包依赖的吧,war包是在服务器端运行的,打包的时候直接在父项目的pom路径下 mvn clean package -DskipTests就可以了,首次打包的话用mvn clean install -DskipTests

查看完整回答
反对 回复 2018-07-18
  • 2 回答
  • 0 关注
  • 332 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号