2014-10-30 2 views
0

소스 폴더 src에있는 프로젝트에 de.ht.ak.praktikum.hook 패키지가 있지만 빌드 경로에서 제외해야합니다. 나는 이것을 마우스 오른쪽 버튼으로 클릭하고 Build Path -> Exclude를 선택하여이 작업을 수행했습니다. 프로젝트를 업데이트 할 때마다 프로젝트에 maven을 추가 했으므로 제외 된 폴더가 다시 패키지로 바뀝니다. 즉, 제외가 삭제됩니다. there 설명 된대로 내가 할도 시도POM의 빌드 경로에서 패키지 제외

... 
    <build> 
     <sourceDirectory>src</sourceDirectory> 
     <resources> 
      <resource> 
       <directory>src</directory> 
       <excludes> 
        <exclude>de/ht/ak/praktikum/hook</exclude> 
       </excludes> 
      </resource> 
     </resources> 
    ... 
    </build> 
... 

: 다음 두 가지 방법의

... 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-eclipse-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <sourceExcludes> 
       <sourceExclude>de/ht/ak/praktikum/hook/</sourceExclude> 
      </sourceExcludes> 
      <sourceIncludes> 
       <sourceInclude>**/*.java</sourceInclude> 
      </sourceIncludes> 
     </configuration> 
    </plugin> 
... 

그러나 아무도 도울 나는이 방법을 해결하기 위해 노력했다. 어떤 아이디어?

+0

패키지를 jar 파일로 내보내 려하지 않으려면 패키지 이름에 internal을 추가하십시오. 예 : de.ht.ak.praktikum.internal.hook – StackFlowed

+0

프로젝트를 빌드하는 데 maven을 사용하지 않고 종속성을 관리합니다. 언급 된 폴더를 제외하면 프로젝트 오류를 ​​숨길 수 있습니다. –

답변

1

리소스 (즉, 결과 JAR 파일에 패키지화 된 파일 - 일반적으로 소스 파일을이 파일에 포함시키지 않으려 고하기 때문에 첫 번째 시도가 작동하지 않습니다.).

두 번째 시도가 올바른 방향입니다. 그러나 컴파일에서 제외하기를 원하므로 the exclude option of the maven-compiler-plugin을 설정해야합니다. 즉,이 같은 :

<build> 
    .. 
    <plugins> 
    .. 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.2</version> 
     <configuration> 
     <excludes> 
      <exclude>de/ht/ak/praktikum/hook/*.java</exclude> 
     </excludes> 
     </configuration> 
    </plugin> 
    .. 
    </plugins> 
</build> 

이클립스에서 프로젝트를 업데이트 (메이븐을 -> 업데이트 프로젝트), Eclipse는이 구성을 존중하고 또한 이클립스 내부 빌드 경로에서 제외한다.

+0

내 POM은 [this] (http://pastie.org/9686444)처럼 보이지만 도움이되지 않습니다. 폴더는 빌드 경로에 계속 포함됩니다. –

+0

왜'* .java' 와일드 카드 패턴 지정자를 생략 했습니까? 또한 일부 사람들은 원본 폴더를 제외 패턴 앞에 붙인 것으로 성공했다고보고합니다. 안전한쪽에 있으려면 패턴의 시작 부분에'** /'을 넣으십시오 (예 :'**/de/ht/ak/praktikum/hook/*. java'). – misberner

+0

전체 폴더. 비록 상관 없어요. 와일드 카드 패턴 지정자를 사용하는 경우. 결과는 동일합니다. –

관련 문제