2012-09-03 3 views
1

maven-compiler-plugin을 사용하는 Maven 웹 응용 프로그램이 있습니다. 며칠 전 내가 컴파일 할 수 있고 잘 응용 프로그램을 실행하지만 일이 일어난 컴파일 이제 다음과 같은 오류와 함께 실패합니다Maven webapp "javac : -endorseddirs는 인수가 필요합니다"

[ERROR] Failure executing javac, but could not parse the error: 
javac: -endorseddirs requires an argument 
Usage: javac <options> <source files> 

그것은 컴파일러와 함께 할 수있는 뭔가가하지만 난 그것을 이해할 수 없습니다. 내가 this 같은 몇 가지 솔루션을 시도

<plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <compilerArguments> 
        <endorseddirs>${endorsed.dir}</endorseddirs> 
       </compilerArguments> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.1.1</version> 
      <configuration> 
       <failOnMissingWebXml>false</failOnMissingWebXml> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.1</version> 
      <executions> 

      </executions> 
     </plugin> 
    </plugins> 

: 여기 내 pom.xml 파일 (단지 플러그인)입니다.

답변

1

알고있는 한, ${endorsed.dir}은 표준 Maven 속성이 아닙니다. ${endorsed.dir}을 실제 값으로 대체하지 않고 어딘가에서이 예제를 복사 했습니까? 또는이 값을 pom.xml의 다른 위치에서 정의 했습니까? 제거 되었습니까?

이 경우 Maven은이 필드를 공백으로 처리하고 컴파일러가 -endorseddirs 매개 변수에 대해 인수를받지 못한다고 생각할 수 있습니다.

0

Java 컴파일러가 POM에 속성 ${endorsed.dir}을 찾을 수 없습니다. POM에 정의되어 있는지 확인하십시오. mvn help:effective-pom으로 POM의 구성을 확인하려면 모든 구성을 인수 분해 한 후 실제 POM을 표시합니다.