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

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

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

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

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

0

3个回答

上面的回答格式乱了,抱歉。

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

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

1
u011856283
你好杰米 哦了解了,棒
11 个月之前 回复

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

假如你有一个项目名称为PRJ,依赖下面的三个模块,分别是common,service,以及web,
目录结构如下:
PRJ ...聚合模块,packaging方式为pom,这个很关键,然后modules要列出它的子模块
+common ...JAR
+service ...JAR,依赖common
+web ...WAR,依赖common和service,注意packaging方式为war

那么可以这么写pom文件
1.PRJ项目的pom.xml:
g
a
1.0
pom

<modules>
    <module>common</module>
    <module>service</module>
    <module>web</module>
</modules>

common模块的pom.xml:

g
a
1.0

common

service模块的pom.xml:

g
a
1.0

service

web模块的pom.xml:

g
a
1.0

web
war

只要你目录关系正确,那只要模仿上面方式,你针对PRJ或者web进行mvn clean install处理,是可以正常打包的。
至于里面的依赖关系dependencies的写法,我就省略了,希望能对你有所帮助。

1

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

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!