2014-03-25 3 views
2

JPA 2 maven 프로젝트를 가지고 있고 원본을 처리하여 정적 메타 모델을 만들고 싶습니다. 내가 한 일은 JBoss' static meta model processor을 가져다가 generate-sources 단계에서 실행되도록 설정했습니다. 이제 분명히 메타 모델을 참조하는 클래스가 있고 컴파일 자체가 잘됩니다. 그러나 maven-processor-plugin 자체가 오류가이 같은 메타 모델의 기호를 찾을 수 없다는 불평 생성정의되지 않은 기호를 무시하는 maven-processor-plugin

실제로 이러한 클래스를 생성하기 때문에 논리적이지만 그렇지 않다면 올바른 프로젝트에 오류를 제공하기 때문에 옳지 않다
[INFO] --- maven-processor-plugin:2.2.4:process (process) @ ng-grid-java --- 
[ERROR] diagnostic: c:\...\service\position\PositionSpecifications.java:13: cannot find symbol 
symbol : class Position_ 

. 아니면 내가 잘못 사용한거야? 내가 놓친 게 있니?

업데이트 : 구성 매개 변수 outputDiagnostics을 사용하여 오류 출력을 억제 할 수 있었지만 올바른 방법인지는 확실하지 않습니다.

+0

당신은 pom.xml을 게시 할 수 있습니까? – landal79

답변

1

다음과 같이 build-helper-maven-plugin을 사용하여 클래스 경로 돌출 생성 된 클래스가 추가 될 수있는 용액 :

build-helper-maven-plugin --> <phase>process-sources</phase> 

: I 좋아 위상 께 플러그인 -s을 잘 살고있는

<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> 
     <artifactId>artifactId</artifactId> 
     <groupId>groupId</groupId> 
     <version>1.0.0-SNAPSHOT</version>  
    </parent> 
    <artifactId>jpa-metamodel-generation</artifactId> 

    <dependencies> 

     <!-- Hibernate JPA metamodel generator --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-jpamodelgen</artifactId> 
      <version>1.2.0.Final</version> 
      <scope>provided</scope> 
      <exclusions> 
       <exclusion> 
        <groupId>org.hibernate.javax.persistence</groupId> 
        <artifactId>hibernate-jpa-2.0-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

    </dependencies> 

    <build> 
     <plugins> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <compilerArgument>-proc:none</compilerArgument> 
       </configuration> 
      </plugin> 

      <!-- Plugin to generate JPA metamodel --> 
      <plugin> 
       <groupId>org.bsc.maven</groupId> 
       <artifactId>maven-processor-plugin</artifactId> 
       <version>2.0.5</version> 
       <executions> 
        <execution> 
         <id>process</id> 
         <goals> 
          <goal>process</goal> 
         </goals> 
         <phase>process-sources</phase> 
         <configuration> 
          <outputDirectory>${project.build.directory}/metamodel</outputDirectory> 
          <processors> 
           <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor> 
          </processors> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <!-- Build helper plugin to add generated sources to classpath --> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>build-helper-maven-plugin</artifactId> 
       <version>1.7</version> 
       <executions> 
        <execution> 
         <id>add-source</id> 
         <phase>generate-sources</phase> 
         <goals> 
          <goal>add-source</goal> 
         </goals> 
         <configuration> 
          <sources> 
           <source>${project.build.directory}/metamodel</source> 
          </sources> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 
0

maven-processor-plugin --> <phase>compile</phase>