2014-06-06 2 views
1

결과 WAR 패키지에서 내 * .java 파일을 필터링하는 데 문제가 있습니다. maven 3.0.3을 사용 중입니다.WAR 패키지에서 * .java 소스 파일 제외

<?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/maven-v4_0_0.xsd"> 

<parent> 
    <groupId>com.my</groupId> 
    <artifactId>app</artifactId> 
    <version>1.00</version> 
</parent> 

<modelVersion>4.0.0</modelVersion> 
<groupId>com.my.app</groupId> 
<artifactId>app</artifactId> 
<packaging>war</packaging> 
<name>My Webapp</name> 

<build> 
    <finalName>My</finalName> 

    <resources> 
     <resource> 
      <directory>src/main/java</directory> 
      <filtering>true</filtering> 
      <excludes> 
       <exclude>*.java</exclude> 
      </excludes> 
     </resource> 

     <resource> 
      <directory>src/main/resources</directory> 
     </resource> 
    </resources> 
.... 

후 나는 mvn clean package 내 WAR을 asembling 해요 : 내 pom.xml 파일이 같다. 그런 다음 내 * .java 파일을 내 WAR에서 볼 수 있습니다. 내가 잘못된 설정 또는 \ 그리고 잘못된 메이븐 플러그인을 실행하고 있습니까?

P. mvn war:war으로하지만 성공

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
     <warSourceExcludes>**/*.java</warSourceExcludes> 
    </configuration> 
    </plugin> 

: 나는 또한 다음과 같은 플러그인을 사용하려고했습니다.

+2

아래 왜 SRC/메인/자바를 필터링하고 왜 자원으로 정의 같은 시도? – khmarbaise

+0

음 :) WAR에서 파일을 제외하는 첫 번째 결과는 지시어에 관한 것입니다. 나는 (그리고 전에도이 설정을 몇 년 전에 작성한 사람도) 생각했는데, 왜 WAR 파일을 * .java 파일로 필터링 할 수 없습니까? 어쩌면 이전에 그런 식으로 일했을 수도 있습니다. 하지만 지금은 나쁜 생각처럼 보입니다 :) – kumade

+1

흠 .. 정말로 내 질문에 대답하지 못했습니다 : 왜 Java 파일 필터링을 사용합니까? 일반적으로 자바 소스 파일을 필터링 할 필요가 없기 때문에 컴파일됩니다. 그렇기 때문에 전쟁에서 제외 할 필요가 없습니다. – khmarbaise

답변

1

@khmarbaise의 도움으로 문제의 원인을 발견했습니다. 제 경우에는 방금 "src/main/java"폴더의 "< 리소스 >"섹션을 제거했습니다. <warSourceExcludes>를 사용하지 마십시오

0

는 같은

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-war-plugin</artifactId> 
<version>3.2.0</version> 
<configuration> 
<packagingExcludes> 
    WEB-INF/**/*.java 
</packagingExcludes> 
</configuration> 
</plugin>