zoukankan      html  css  js  c++  java
  • 关于如何在Idea下进行多子项目及引用内部子项目情况下打包项目的方法

    近期在开发Java的时候遇到了如下的打包上的问题

    1. 需要将一个工程下面的子工程分别打包
    2. 有的子工程还包含了另一个子工程

    在这种情况下打包会出现找不到子模块的情况。

    环境

    JDK:1.8

    开发工具:Idea 2021.1.3

    解决方案

    需要调整父级项目,子集项目的pom.xml文件

    具体调整如下

    父级pom.xml

    <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.demo.test</groupId>
        <artifactId>myproject</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>myproject</name>
        <description>Demo project for Spring Boot</description>
        <packaging>pom</packaging>
        ........
        
        <!--声明你拥有的子项目 -->
        <modules>
            <module>children1</module>
            <module>children2</module>
            <module>children3</module>
        </modules>
        
        ......
    
        <build>
            <plugins>
                
                ......
                
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M5</version>
                    <configuration>
                        <skipTests>true</skipTests>    <!--默认关掉单元测试(可以添加) -->
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    </project>
    

    子项目pom.xml

    <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        
        ......
        
        <!--声明父模块-->
        <parent>
            <groupId>com.demo.test</groupId>
            <artifactId>myproject</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <relativePath>../pom.xml</relativePath>
        </parent>
        
        <dependencies>
            
            ......
            
            <!--被引用的子模块-->
            <dependency>
                <groupId>com.demo.tools</groupId>
                <artifactId>mytools</artifactId>
                <version>0.0.1-SNAPSHOT</version>
                <scope>compile</scope>
            </dependency>
        </dependencies>
        
        ......
    
    </project>
    

    经过上述配置后,就可以使用Idea下的Maven进行正常的打包错误了。

    本文来自博客园,作者:一块白板,转载请注明原文链接:https://www.cnblogs.com/ykbb/p/15065118.html

  • 相关阅读:
    C#解析PDF
    Ora-03113Ora-03114与Oracle In 拼接字符串的问题
    [Linux] nohup/setsid/& 让进程在后台可靠运行
    [Python] json 报错'xxx is not JSON serializable'的处理方法
    [Linux] 虚拟环境的配置和使用 virtualenv
    [Python] 跳过前几行快速读取文件内容:islice
    对pandas的dataframe绘图并保存
    matplotlib 数据可视化
    awk结合正则匹配
    Pandas库常用函数和操作
  • 原文地址:https://www.cnblogs.com/ykbb/p/15065118.html
Copyright © 2011-2022 走看看