사실 Solr 프로젝트 디렉토리는 MyProject 상위 디렉토리 안에 있습니다 (그러나 2 사이에는 모듈이나 Maven 관계가 없으며 FS 편의). 그것을 배치해야합니까?
$ mvn -DskipTests clean install
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for org.apache.lucene:lucene-solr-grandparent:pom:3.1-SNAPSHOT
[WARNING] 'parent.relativePath' points at com.mycompany:MyProject instead of org.apache:apache, please verify your project structure @ line 23, column 11
[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]
부터 pom.xml
:
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>8</version>
</parent>
$ pwd
/Users/simpatico/ws/MyProjectBaseDir/solr
답변
빈 <relativePath>
을 추가 <parent>
하여 리포지토리에서 상위 pom을 확인합니다.
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>8</version>
<relativePath></relativePath>
</parent>
관련 문서 는 다음과 같습니다 .
이 기능은 해당 프로젝트의 로컬 체크 아웃에서 개발을 향상시키기위한 것입니다. 기능을 사용하지 않고 항상 저장소에서 상위 POM을 해결하려는 경우 값을 빈 문자열로 설정하십시오.
기본값은../pom.xml
입니다.
답변
경고를 무시하거나 관련이없는 상위에서 소스를 이동하거나 요소에 올바른 값을 입력하십시오. 이 문제는 relativePath의 기본값 인 ../pom.xml에 의해 발생하며 해당 기본값은 효과적인 pom에 주입되어 경고를 트리거합니다.
답변
이 메시지는 현재 프로젝트와 관련된 상위 디렉토리의 pom.xml로 인해 발생할 수 있습니다. 상위 디렉토리의 pom이 현재 pom의 project.parent 구성과 일치하지 않습니다.
답변
프린지 케이스가 있습니다. 내 뚱뚱한 손가락 케이스.
내 부모님은 이것을 가지고 있었다 :
<?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.mygroup </groupId>
<artifactId>pom-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>pom-parent</name>
그리고 내 (자식) 치어
<parent>
<groupId>com.mygroup</groupId>
<artifactId>pom-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../pom-parent/pom.xml</relativePath>
</parent>
부모님의 그룹 ID는 이름 끝에 굵은 손가락 공간이 있습니다. 올바른 “com.mygroup”대신 “com.mygroup”.
이 뚱뚱한 손가락 실수 때문에 ….. “groupId”이름이 일치하지 않습니다 …. 그리고 오류가 발생했습니다.
일명, 너무 극단적으로 해결하기 전에 뚱뚱한 손가락 실수를 확인하십시오.
인터넷 검색 오류
“프로젝트 빌드 오류 : POM의 ‘parent.relativePath'” “포인트” “프로젝트 구조를 확인하십시오”
답변
<relativePath>
질문 에서 태그를 놓친 것 같습니다 . 나는 그것이 없으면이 오류가 발생하지 않기 때문에 말하고 있습니다. 그 말은
집중해야 할 줄은 아래 경고문입니다.
org.apache : apache 대신 com.mycompany : MyProject의 ‘parent.relativePath’포인트
그것은 모듈의 태그의 상대 경로가 지정된 것과 다른 artifactId를 가진 pom 파일을 가리 키고 있음을 분명히합니다.
의 태그 에서 언급 한 artifactId
귀하 parent/pom.xml
와 귀하 artifactId
의 <parent>
태그 가 일치하지 않기 때문 입니다 module/pom.xml
. 경고 변경 방지하기 위해 <parent>
당신에 module/pom.xml
아래 그림과 같이.
<parent>
<groupId>com.mycompany</groupId>
<artifactId>MyProject</artifactId>
<version>8</version>
<relativePath>path-to-your-parent-pom.xml</relativePath>
</parent>