`

maven继承parent,relativePath warn信息的解决办法

 
阅读更多

转自:http://blog.sina.com.cn/s/blog_56d8ea9001013fz9.html

比如:
    <parent>
        <groupId>com.tenace</groupId>
        <artifactId>tenace</artifactId>
        <version>2.0.1</version>
        <relativePath></relativePath> //刚开始无此句
    </parent>
    <groupId>com.joinspider</groupId>
    <artifactId>spiderengine</artifactId>
    <version>2.6.0-SNAPSHOT</version>

tenace作为pom项目已经发布至repo,如果没有指定relativapath。则mvn -X -e clean package可以看到如下警告信息:
[WARNING]
[WARNING] Some problems were encountered while building the effective model for
com.joinspider:spiderengine:jar:2.6.0-SNAPSHOT
[WARNING] 'parent.relativePath' points at com.joinspider:joinspider instead of c
om.tenace:tenace, please verify your project structure @ line 4, column 10
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten t
he stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support buildin
g such malformed projects.

解决办法则是加上<relativePath></relativePath>。
说明见链接:http://maven.apache.org/ref/3.0.3/maven-model/maven.html#class_parent

说明如下:
The relative path of the parent pom.xml file within the check out. If not specified, it defaults to ../pom.xmlMaven looks for the parent POM first in this location on the filesystem, then the local repository, and lastly in the remote repo. relativePath allows you to select a different location, for example when your structure is flat, or deeper without an intermediate parent POM. However, the group ID, artifact ID and version are still required, and must match the file in the location given or it will revert to the repository for the POM. This feature is only for enhancing the development in a local checkout of that project. Set the value to an empty string in case you want to disable the feature and always resolve the parent POM from the repositories.
Default value is: ../pom.xml.

分享到:
评论

相关推荐

    maven 配置详解

    目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的pom。 --&gt; &lt;relativePath /&gt; &lt;/parent&gt; version。 --&gt; &lt;parent&gt; &lt;!--被继承的父项目的构件...

    maven_parent.rar

    在Maven工程中,此目录可能包含pom.xml的继承配置信息。 3. `WEB-INF`:这是Web应用的标准目录,包含web.xml(Web应用的部署描述符),以及Web应用的类文件和库。在Maven构建的Web应用中,编译后的Java类文件和依赖...

    maven继承与聚合代码

    Maven的继承机制允许我们在多个项目之间共享公共的配置信息。这主要通过父POM(Parent POM)实现。当一个项目的POM声明了一个父POM时,它会继承父POM中的所有属性,如依赖、插件、构建配置等。这样,我们可以在父POM...

    maven-parent-pom-0.1.0.jar

    maven-parent-pom-0.1.0.jar

    maven_parent

    3. 继承机制:Maven支持POM的继承,子项目通过`&lt;parent&gt;`标签指定其父POM。这样,子项目就自动包含了父POM中的所有属性、依赖、插件和配置。这大大减少了子POM的复杂性,同时保持了一致性。 4. 使用`maven_parent`...

    maven依赖+继承+聚合

    在软件开发领域,Maven是一个广泛使用的项目管理和综合工具,主要负责构建、依赖管理和项目信息管理。本示例将深入探讨Maven中的“依赖”、“继承”和“聚合”这三个核心概念,帮助开发者更好地理解和应用Maven。 ...

    maven parent管理代码

    Maven Parent POM是一个特殊的POM,它不包含任何代码,但包含了整个项目或一组项目共享的配置信息。例如,它可以定义全局的依赖管理、插件管理、编码规范、版本控制策略等。当子项目引用这个parent POM时,它们就...

    maven-parent-25-source-release.zip

    在Maven中,父POM(Parent POM)是一种特殊类型的POM,用于定义一组通用的配置,如插件版本、依赖管理和构建过程,供其他子项目继承。这样做可以确保整个组织或项目中的一致性,并减少重复工作。 源码分析: 1. **...

    maven聚合与继承配置

    本示例将深入探讨"Maven聚合与继承"的概念。 **一、Maven聚合(Aggregation)** Maven聚合允许我们将多个独立的Maven项目组织在一起,形成一个单一的构建单元。在我们的示例中,`parent`项目就是一个聚合项目。它...

    maven 继承.docx

    &lt;relativePath&gt;../parent/pom.xml&lt;/relativePath&gt; &lt;/parent&gt; ``` 4. **子项目依赖配置**:子项目可以在自己的 `&lt;dependencies&gt;` 标签中声明需要继承的依赖,不需要指定版本,因为版本会从父项目继承。如果子项目...

    maven-parent-40-source-release.zip

    标题 "maven-parent-40-source-release.zip" 提示我们这是一个与 Maven 相关的源码包,具体来说是 Maven 的父项目版本 40 的源代码发布。Apache Maven 是一个广泛使用的 Java 项目管理工具,它通过使用一种声明式的...

    maven项目pom.xml中parent标签的使用.docx

    "Maven 项目 pom.xml 中 parent 标签的使用" Maven 项目 pom.xml 文件中的 parent 标签是 Maven 项目管理依赖的核心组件之一。parent 标签的使用可以简化项目间的依赖管理,使得项目结构更加清晰、易于维护。 ...

    Maven的聚合(多模块)和Parent继承

    &lt;relativePath&gt;../my-parent&lt;/relativePath&gt; &lt;/parent&gt; &lt;artifactId&gt;my-project ``` 相比之下,聚合(或多模块)是指具有多个模块的项目。这些模块可以通过一个 POM 文件来管理,并且可以作为一组项目来构建。...

    maven_02_parent.zip

    1. **创建父项目**:首先,我们需要创建一个名为`maven_02_parent`的父项目,这个项目不包含任何代码,但定义了项目的基本信息(如groupId、artifactId、version)以及共用的依赖。 2. **创建子模块**:根据项目...

    Maven聚合与继承实例详解.docx

    本文将深入探讨Maven的聚合与继承特性,并通过实例进行详细解释。 首先,Maven的依赖管理系统允许开发者声明项目所需的库和它们的版本,从而避免了版本冲突和手动管理jar包的问题。在Maven的POM(Project Object ...

    maven-parent-config-0.2.0.jar

    maven-parent-config-0.2.0.jar

    maven-parent-config-0.1.1.jar

    maven-parent-config-0.1.1.jar

    maven-parent-config-0.1.0.jar

    maven-parent-config-0.1.0.jar

    maven-parent:Apache Maven项目父POM

    "maven-parent"是Apache Maven官方提供的一系列父POM(Parent POM),它定义了一系列通用的配置和插件,用于简化Maven项目的初始化和配置过程。这个"maven-parent"主要被Apache的各个子项目引用,为它们提供一致性和...

    maven-parent-config-0.2.0-sources.jar

    maven-parent-config-0.2.0-sources.jar

Global site tag (gtag.js) - Google Analytics