2017-08-07 147 views
1

我使用jdk 8和maven版本3.3.9創建最新版本爲1.5.6.RELEASE的spring引導應用程序。我收到以下警告消息,同時運行mvn clean install如何在運行「mvn clean install」時修復WARNING消息

[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 

我富/ 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使用Maven原型彈簧引導空白項目從GitHub產生。

父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> 

在編譯我的源代碼如何解決這一警告消息?

請提供您的輸入。

+0

你能告訴我們你的pom.xml怎麼樣子?特別是12行;) 也許你的項目結構。 – Lidjan

+0

我已經用pom.xml更新了我的問題 – SST

+0

您在項目中發佈了頂級pom的pom.xml文件嗎? – vikingsteve

回答

6

發生該問題的原因是默認情況下,Maven假定在包含模塊pom的父文件夾的父文件夾中找到父文件夾。然而,在你的項目中,似乎並不是這樣的情況:你的父母pom是org.springframework.boot:spring-boot-starter-parent:1.5.6.RELEASE而pom com.xxx:parent:1.0 .在父文件夾中僅用作模塊的聚合器。

爲了解決這個問題,你需要取消設置在模塊勁歌這樣在父申報的相對路徑:

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

謝謝@Christoph !!!有用!! – SST

相關問題