2016-08-13 2 views
0

나는 다소 혼란스러운 구조를 가진 maven 프로젝트를 상속 받았다. 상위 폴더에는 홈 pom.xml이 하나 있지만 하위 폴더에는 홈 pom.xml이 하나 있습니다. 이 구조는 조금 혼란 스럽습니다. 부모가 자식을 관리하는 것 외에는 아무것도 가지고 있지 않기 때문입니다.부모와 그 부모를 가진 pom.xml

둘을 병합 할 방법이 있습니까? 수동으로 시도했지만 실패했습니다. 나는 내 문제가 타이코와 이클립스 플러그인에 있다고 생각한다. 여기

아이 pom.xml입니다 :

<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> 
    <parent> 
    <groupId>my.project</groupId> 
    <artifactId>my.project.foo.parent</artifactId> 
    <version>2.4.0</version> 
    </parent> 
    <artifactId>my.project.foo</artifactId> 
    <packaging>eclipse-plugin</packaging> 
</project> 

그리고 부모는 다음과 같습니다

부모에
<?xml version="1.0" encoding="UTF-8"?> 
<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>my.project</groupId> 
    <artifactId>my.project.foo.parent</artifactId> 
    <version>2.4.0</version> 
    <packaging>pom</packaging> 

    <properties> 
    <tycho.version>0.24.0</tycho.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <mars-repo.url>http://download.eclipse.org/releases/mars</mars-repo.url> 
    <maven.compiler.source>1.8</maven.compiler.source> 
    <maven.compiler.target>1.8</maven.compiler.target> 
    </properties> 

    <repositories> 
    <repository> 
     <id>mars</id> 
     <url>${mars-repo.url}</url> 
     <layout>p2</layout> 
    </repository> 
    </repositories> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.12</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>my.project</groupId> 
     <artifactId>my</artifactId> 
     <version>1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>my.project</groupId> 
     <artifactId>cli</artifactId> 
     <version>1.0</version> 
    </dependency> 
    </dependencies> 

    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.eclipse.tycho</groupId> 
     <artifactId>tycho-maven-plugin</artifactId> 
     <version>${tycho.version}</version> 
     <extensions>true</extensions> 
      <configuration> 
      <encoding>UTF-8</encoding> 
      <source>1.8</source> 
      <target>1.8</target> 
      </configuration> 
     </plugin> 
     <plugin> 
     <groupId>org.eclipse.tycho</groupId> 
     <artifactId>target-platform-configuration</artifactId> 
     <version>${tycho.version}</version> 
     <configuration> 
      <environments> 
      <environment> 
       <os>linux</os> 
       <ws>gtk</ws> 
       <arch>x86</arch> 
      </environment> 
      <environment> 
       <os>linux</os> 
       <ws>gtk</ws> 
       <arch>x86_64</arch> 
      </environment> 
      <environment> 
       <os>win32</os> 
       <ws>win32</ws> 
       <arch>x86</arch> 
      </environment> 
      <environment> 
       <os>win32</os> 
       <ws>win32</ws> 
       <arch>x86_64</arch> 
      </environment> 
      <environment> 
       <os>macosx</os> 
       <ws>cocoa</ws> 
       <arch>x86_64</arch> 
      </environment> 
      </environments> 
     </configuration> 
     </plugin> 
     <plugin> 
     <groupId>org.eclipse.tycho</groupId> 
     <artifactId>tycho-packaging-plugin</artifactId> 
     <version>0.24.0</version> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <groupId>org.eclipse.tycho</groupId> 
     <artifactId>tycho-surefire-plugin</artifactId> 
     <version>${tycho.version}</version> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

답변

1

pom.xml 변화 <packaging>pom</packaging><artifactId>my.project.foo</artifactId>


<artifactId>my.project.foo.parent</artifactId> <packaging>eclipse-plugin</packaging>

그런 다음 하위 폴더에서 pom.xml을 지우거나 이동 한 다음 하위 폴더 의 모든 항목을 상위 폴더로 옮깁니다. 지우지 않으면 부모의 주소가 pom.xml으로 바뀔 수 있습니다.

관련 문제