• (03)maven项目分模块开发,子项目继承自父项目,打包运行方法


      现在有一个项目结构如下:

      父项目project

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.xxx.xxx</groupId> <artifactId>project</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <dependencyManagement> <dependencies> <dependency> <groupId>io.spring.platform</groupId> <artifactId>platform-bom</artifactId> <version>Brussels-SR4</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <modules> <module>../projectA</module> <module>../projectB</module> <module>../projectC</module> </modules>

      子项目projectA继承自父项目project

    <modelVersion>4.0.0</modelVersion>
    
    <artifactId>projectA</artifactId>
    <parent>
        <groupId>com.xxx.xxx</groupId>
        <artifactId>project</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <relativePath>../project</relativePath>
    </parent> 
      
    <dependencies>
        ... ...
    </dependencies>

      子项目projectB继承自父项目project,同时引入了projectA做为依赖

    <modelVersion>4.0.0</modelVersion>
    
    <artifactId>projectB</artifactId>
    <parent>
        <groupId>com.xxx.xxx</groupId>
        <artifactId>project</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <relativePath>../project</relativePath>
    </parent> 
      
    <dependencies>
        <dependency> 
            <groupId>com.xxx.xxx</groupId>
            <artifactId>projectA</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
        ... ...
    </dependencies>        

      子项目projectC继承自父项目project,同时引入了projectB做为依赖

    <modelVersion>4.0.0</modelVersion>
    
    <artifactId>projectC</artifactId>
    <parent>
        <groupId>com.xxx.xxx</groupId>
        <artifactId>project</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <relativePath>../project</relativePath>
    </parent> 
      
    <dependencies>
        <dependency> 
            <groupId>com.xxx.xxx</groupId>
            <artifactId>projectB</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
        ... ...
    </dependencies>   

      现在要打包,直接在project上执行clean compile package打出的包无法运行,需要修改projectC(客户写的源码)的pom.xml文件

    ... ...
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.3.3.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <finalName>demo</finalName>
    </build>        

      然后在project上执行上述命令,打出的jar名字是demo.jar,运行:java -jar demo.jar即可

  • 相关阅读:
    Jackcard类似度和余弦类似度(向量空间模型)的java实现
    Android Wear之android穿戴式设备应用开发平台
    poj 2955 Brackets 括号匹配 区间dp
    Gradle自己定义插件
    C语言之基本算法11—牛顿迭代法求平方根
    jquery ajax实现省市二级联动
    从0開始学习 GitHub 系列之「07.GitHub 常见的几种操作」
    Android Widget和悬浮窗 原理
    怎样推断一个数的二进制有多少个1
    Mac OSX Yosemite 10.10 brew 错误:mktemp: mkdtemp failed on /tmp/git-LIPo: No such file or directory
  • 原文地址:https://www.cnblogs.com/javasl/p/12952008.html
Copyright © 2020-2023  润新知