bestsource

"mvn clean install" 실행 중 WARN 메시지 수정 방법

bestsource 2023. 9. 11. 21:54
반응형

"mvn clean install" 실행 중 WARN 메시지 수정 방법

저는 jdk 8과 maven 버전 3.3.9를 사용하여 최신 버전 1.5.6으로 스프링부팅 어플리케이션을 만들고 있습니다.풀어주다.실행 중에 다음과 같은 경고 메시지가 나타납니다.mvn clean install

[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.XXXX:foo:jar:1.0.0
[WARNING] 'parent.relativePath' of POM com.XXX:foo:1.0.0 (/home/user/parent/foo/pom.xml) points at com.XXX:parent instead of org.springframework.boot:spring-boot-starter-parent, please verify your project structure @ line 12, column 13
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.XXX:bar:jar:1.0.0
[WARNING] 'parent.relativePath' of POM com.XXX:bar:1.0.0 (/home/user/parent/bar/pom.xml) points at com.XXX:parent instead of org.springframework.boot:spring-boot-starter-parent, please verify your project structure @ line 12, column 13
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:

제 프로젝트는 멀티 모듈 빌드입니다.디렉터리 구조는 다음과 같습니다.

xxx-project
|-- pom.xml
|-- foo
|   |-- pom.xml
|-- bar
|   |-- pom.xml

내 foo/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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.xxx</groupId>
    <artifactId>foo</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>

    <name>foo</name>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <start-class>com.xxx.foo.App</start-class>
        <java.version>1.8</java.version>
        <lombok.version>1.16.18</lombok.version>
        <log4jdbc.log4j2.version>1.16</log4jdbc.log4j2.version>
        <rest.assured.version>3.0.3</rest.assured.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.bgee.log4jdbc-log4j2</groupId>
            <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
            <version>${log4jdbc.log4j2.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured</artifactId>
            <version>${rest.assured.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>${spring-loaded.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

</project>

위 pom.xml은 github의 maven archype spring-boot-blank 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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.XXX</groupId>
  <artifactId>parent</artifactId>
  <version>1.0.0</version>
  <packaging>pom</packaging>
  <name>parent</name>
  <modules>
    <module>foo</module>
    <module>bar</module>
  </modules>
</project>

소스 코드를 컴파일하는 동안 이 경고 메시지를 해결하는 방법은 무엇입니까?

입력 사항을 알려주시기 바랍니다.

이 문제는 기본적으로 Maven이 모듈 폼이 포함된 폴더의 상위 폴더에 있는 것으로 가정하기 때문에 발생합니다.그러나 그렇지 않은 것으로 보이는 프로젝트에서는 다음과 같습니다.당신의 부모님은 기관입니다. 봄의 틀입니다.boot:spring-boot-starter-parent:1.5.6.RELEASE with the pomcom.xxx:parent:1.0.0 부모 폴더는 모듈의 애그리게이터로만 사용됩니다.

이 문제를 해결하려면 다음과 같이 모듈 폼의 상위 선언에서 상대 경로를 설정 해제해야 합니다.

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.6.RELEASE</version>
    <relativePath/>
</parent>

언급URL : https://stackoverflow.com/questions/45545092/how-to-fix-the-warning-message-while-running-mvn-clean-install

반응형