精华内容
下载资源
问答
  • 项目采用springcloud多模块开发(即一个父工程包含多个字工程)。 将项目打包部署到服务器,每次都需要进入单个工程进行分别打包,这样做比较耗时,可以通过父子工程来实现一次性打包所有项目。 二、聚合的方式一次性...

    一、背景

    • 项目采用springcloud多模块开发(即一个父工程包含多个字工程)。
    • 将项目打包部署到服务器,每次都需要进入单个工程进行分别打包,这样做比较耗时,可以通过父子工程来实现一次性打包所有项目。

    二、如何创建父工程和子工程

    三、聚合的方式一次性打包所有项目

    1、lz的springboot多模块项目(微服务项目)结构如下:
    在这里插入图片描述

    2、修改父工程的pom.xml文件

    • 下图中①的部分表示:继承springboot提供的父工程,这段信息之前我是配置在子工程里面的,现在配于父工程的pom.xml文件中,子工程则不需要配置。

    • 下图中②的部分表示:父项目的基本信息,注意以pom的方式打包。

      <packaging> pom</packaging>
      
    • 下图中③的部分表示:引入多个子工程模块名称。

    • 下图中④的部分表示:maven资源插件 扫描已开头,已结尾的所有配置。
      在这里插入图片描述在这里插入图片描述

    • 父工程pom.xml文件需要的代码。

      	<parent>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-parent</artifactId>
              <version>2.3.3.RELEASE</version>
              <relativePath/>
          </parent>
      
          <groupId>com.rf.springcloud</groupId>
          <artifactId>cloud</artifactId>
          <version>0.0.1-SNAPSHOT</version>
          <name>cloud</name>
          <description>parent-project</description>
          <packaging>pom</packaging>
      
          <modules>
              <module>eureka-server</module>
              <module>cloud-zuul</module>
              <module>cloud-system</module>
          </modules>
          
      	 <build>
          <!--maven资源插件 扫描已$开头,已$结尾的所有配置-->
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-resources-plugin</artifactId>
                  <configuration>
                      <delimiters>
                          <delimiter>
                              $
                          </delimiter>
                      </delimiters>
                  </configuration>
              </plugin>
          </plugins>
      </build>
      

    3、修改子工程的pom.xml文件(lz以eureka-server子模块为例)

    • 下图中①的部分表示:继承项目的父工程。

    • 下图中②的部分表示:子工程的基本信息,注意以jar的方式打包。

       <packaging>jar</packaging>
      
    • 下图中③的部分表示:需在各个子工程中添加打包插件,这个插件主要是构建可执行的jar。

      在这里插入图片描述

    • 子工程pom.xml文件需要的代码。

     	<parent>
            <groupId>com.rf.springcloud</groupId>
            <artifactId>cloud</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
        
        <artifactId>eureka-server</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
        <description>注册中心</description>
        
     	<build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    

    4、开始打包

    • idea开发工具右侧依次点击【maven】——>【父工程名称】——>【clean】,输出BUILD SUCCESS即表示【clean】操作成功。
      在这里插入图片描述
    • idea开发工具右侧依次点击【maven】——>【父工程名称】——>【install】,父工程和三个子工程都输出SUCCESS,最后出现BUILD SUCCESS,即表示【install】操作成功。
      在这里插入图片描述
    • 此时,在每个子工程taget下都会生成一个jar包,这就算大功告成啦~~~
    展开全文
  • 刚刚要开始从eclipse切换成idea,据说idea功能强大,可是刚刚开始使用很多不习惯,导入第二个maven项目时之前的项目就没了,比较苦恼,下面介绍下导入多个maven项目展示在左侧栏Maven Projects,提醒:使用工具的时候...

    刚刚要开始从eclipse切换成idea,据说idea功能强大,可是刚刚开始使用很多不习惯,导入第二个maven项目时之前的项目就没了,比较苦恼,下面介绍下导入多个maven项目展示在左侧栏Maven Projects,提醒:使用工具的时候一定看清楚提示再操作,就会少走好多弯路。

    1、选择file-new-Module from Existing Sources...

     

    2、选中项目的根目录,点击OK

     

     3、默认选择Ceate module from existing sources,但是我们要选择Import module from external model,然后选择Maven,点击next,

     

    4、勾选Search for projects recursively(递归搜索项目),点击next

     

    5、点击next,

    5、点击finish

     

     

     6、然后右侧就会增加显示新导入的maven项目了。

    展开全文
  • 1、删除src目录 2、在pom文件中加上<packaging>pom</packaging>,如下图:

    1、在工程文件里面删除src目录
    2、在pom文件中加上<packaging>pom</packaging>,如下图:
    在这里插入图片描述注意:点击我,查看Maven多模块管理中父工程代码如何编写

    展开全文
  • 创建子父工程

    2018-05-06 19:37:17
    什么是maven父子工程 ?...父工程父工程又称为父控制器,只是一简单的工程,不能单独运行。作用是将子模块跟子工程聚合在一起。父控制器中的pom.xml配置,在子模块跟子工程中都可以被继承。子工程...

    什么是maven父子工程 ?

    其实看字面意思就很好理解了,就相当于一个家庭一样。一个家庭只会有一个父亲,但可能有多个子女(忽略干爹,,,)。父亲会管着子女,子女也可以继承父亲的优良传统~父子工程也一样。以下为我对于父子工程的一些理解。

    • 父工程:父工程又称为父控制器,只是一个简单的工程,不能单独运行。作用是将子模块跟子工程聚合在一起。父控制器中的pom.xml配置,在子模块跟子工程中都可以被继承。
    • 子工程:项目中创建的具有业务逻辑并且可以单独部署的的子模块称为子工程,一个项目中不同的子工程通过在pom.xml中添加同一个父工程而整合在一起。
    • 子模块:提取出了一些子工程中通用的模块,做成jar包。当子工程需要使用的时候只要在pom.xml中添加依赖就好了

    .菜单:file->new->module->next… 
    这里填写一些基本信息就可以了,例如:GroupId 、ArtifactId、path 
    注意不要勾选模板解释一下,父工程其实是空的工程,选用模板到时候还得去删 
    这里写图片描述 
    2.选中父工程,再次file->new->module->next…这次是新建子工程,就要按自己的需要选择模板了,我这里选个web的。 
    这里写图片描述 
    3.做完上面两步可没有万事大吉。。。注意到没有可爱的java文件夹了吗,如果你有,额当我没说;如果没有那就按下面说的建一个就好了: 
    a .鼠标选中main文件夹,右键new->Directory 
    这里写图片描述

    b.打开菜单Project Structure->Modules->choose your moudule, set its Sources Directory as ‘java’。看图。。。 
    这里写图片描述

    补充

    父工程pom:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.whitehorse.shixj</groupId>
        <artifactId>dubbo-zookeeper-spring</artifactId>
        <packaging>pom</packaging>
        <version>1.0.0</version>
        <modules>
            <module>api</module>
            <module>provider</module>
            <module>consumer</module>
        </modules>
       <dependencies>
    
    
       </dependencies>
        <properties>
            <maven.compiler.source>1.7</maven.compiler.source>
            <maven.compiler.target>1.7</maven.compiler.target>
        </properties>
    </project>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    子工程pom:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <parent>
            <artifactId>dubbo-zookeeper-spring</artifactId>
            <groupId>com.whitehorse.shixj</groupId>
            <version>1.0.0</version>
            <relativePath>../pom.xml</relativePath>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <artifactId>provider</artifactId>
        <packaging>war</packaging>
        <name>provider</name>
        <url>http://maven.apache.org</url>
        <dependencies>
    
        </dependencies>
        <build>
            <finalName>provider</finalName>
        </build>
    </project>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    总结

    idea是以module为基本单位的,区别于project,这个还是要自己好好理解下,欢迎小伙伴问题交流啊,本菜鸡觉得一个人摸索着实艰难啊…


    展开全文
  • 项目是这样的,有一个父工程以及多个微服务项目,父工程pom文件控制着微服务的依赖,我在父工程下新建一个Module时,发现新建后的模块始终无法引入父工程的依赖,在模块的pom文件中添加dependency后idea无法引入正确...
  • 说明一点:父工程可以做为聚合工程(一般也是这样),但并非一定要在父工程里面做聚合,聚合与继承是两不相干的概念,可以另外建一工程做聚合
  • 主要介绍了idea 模块项目依赖父工程class找不到问题的方法,小编觉得挺不错的,现在分享给大家,也给大家做参考。一起跟随小编过来看看吧
  • 需要先创建一大的父工程项目, 然后在下面创建各个子工程模块。 2.创建父工程 这一步创建一Maven Project, 作为Spring Cloud的父工程: File -> New -> Other... -> Maven -> Maven Proje...
  • 父项目只是用于父工程管理依赖的,用于统一管理jar的版本,并没有真正地下载jar文件到本地仓库。子工程需要使用相应的jar引入依赖即可,这时才真正的使用到相应jar,才会去下载。 解决办法: 将标签先去除。先让...
  • 导入后发现没有父工程,其他模块都在,不知道什么情况,百度了也没找到答案, 求解答![图片说明](https://img-ask.csdn.net/upload/201611/14/1479100410_57374.jpg) ![图片说明]...
  • 在idea中,有一maven模块项目,在将所有模块之间的依赖关系确定后,发现模块有坐标版本有误,此时如果只更改模块中pom.xml中的坐标,那么会发现依赖模块的子模块中坐标并不会及时修改。此时需要在idea中...
  • 比如,我们有这么过程,项目结构如下: a --b --c a是总结点,b是子节点,c是节点 b依赖节点class,通过maven构建时通常我们会在子节点中添加节点依赖,如: <dependencies> <dependency&...
  • eclipse把多个项目放在同一个文件夹下: 我们就创建一个文件夹叫springCloud2018 在该文件夹下创建父工程 然后导入pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w...
  • Maven父工程(统一管理依赖)

    千次阅读 2019-12-31 16:45:35
      之前一段时间,我和在其他公司工作的同行朋友聊天时无意间聊到项目依赖...下面简单记录一下如何创建这样一个父工程来统一管理项目依赖。 1.创建一个纯Maven项目   选择maven,然后直接Next,Next,Finish。 ...
  • 问题描述:将ssh工程拆分为多个模块开发 1.1、拆分原理 创建一个maven project(pom),然后在创建三个子模块(maven moudule),其中三个子模块,分别为 dao、service、web,也就是将三层的内容分别独立为一个项目,...
  • 前一节我们明白了maven是个什么玩意,这一节就来讲讲他的一个重要的应用场景,也就是通过...一、maven父工程与子模块的拆分与聚合原理  问题描述:将ssh工程拆分为多个模块开发  1.1、拆分原理  创建一个m...
  • 目前的项目是一父子工程项目,想要在子工程的pom文件中操作父工程目录下的资源。 maven官方提供了标准的写法,比如parent.basedir之类的,网上可以找到很,但尝试了之后就是不识别。 搞了很久,没搞定,项目...
  • 对于父工程模块中重要的是其中的pom文件,在微服务体系下,不能够过多,比如在子模块中会自己引入的,就不要在父工程的pom文件中引入,避免父工程承担过多的责任,更的引入权应该交给子模块,让子模块更能自治。...
  • 使用eclipse开发过程中,由于maven项目含有父工程多个子模块使显示方式非常臃肿,这里介绍项目分类存放以及maven项目层级显示问题。
  • 二、搭建Project父工程 new一project,按图片步骤执行 命名工程名字 选择maven版本 下一步后点击maven自动加载jar包完成构建 设置工程编码格式 注解激活生效 由于后续需要用到很注解,以及第三方...
  • 前一节我们明白了maven是个什么玩意,这一节就来讲讲他的一个重要的应用场景,也就是通过maven...一、maven父工程与子模块的拆分与聚合原理  问题描述:将ssh工程拆分为多个模块开发  1.1、拆分原理  创建一个...
  • maven模块项目需要一个父工程来聚合各个子模块,不过其实就是需要一个父pomxml, 主要作用是声明子模块,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,037
精华内容 414
关键字:

多个父工程