2012-08-16 5 views

답변

7

EBeans 지금 자신의 메이븐 플러그인을 가지고,하지만 난 온라인으로 모든 문서를 찾을 수 없습니다, 그래서 여기에 그것을 사용하는 방법의 예입니다 Eclipse를 사용, 당신이 필요로 할 때이 같은 플러그인을 실행 있는지 확인하는 것이 좋습니다 :

<build> 
    <plugins> 
     <!-- plugins here --> 
    </plugins> 
    <pluginManagement> 
     <plugins> 
      <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. --> 
      <plugin> 
       <groupId>org.eclipse.m2e</groupId> 
       <artifactId>lifecycle-mapping</artifactId> 
       <version>1.0.0</version> 
       <configuration> 
        <lifecycleMappingMetadata> 
         <pluginExecutions> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId>org.avaje.ebeanorm</groupId> 
            <artifactId>avaje-ebeanorm-mavenenhancer</artifactId> 
            <versionRange>[3.3.2,)</versionRange> 
            <goals> 
             <goal>enhance</goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <execute> 
             <runOnConfiguration>true</runOnConfiguration> 
             <runOnIncremental>true</runOnIncremental> 
            </execute> 
           </action> 
          </pluginExecution> 
         </pluginExecutions> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 
+0

나를 위해 작동합니다 .. 하지만 사형 집행을 구성 안에 넣어야했습니다. – joshua

+1

Eclipse에서 m2e를 사용하면 컴파일이 작동하고 실행됩니다. 그러나 m2e는 "생명주기 구성에 포함되지 않은 플러그인 실행 : org.avaje.ebeanorm : avaje-ebeanorm-mavenenhance." 누구든지이 문제를 해결하는 방법을 알고 있습니까? – area5one

+0

@ area5one - 당신이 물어 보았던 재미있는 것, 나는 당신이 필요로하는 것과 정확히 일치하는 대답만을 업데이트했습니다. – JBCP

2

이 답변은 EBeans의 아주 오래된 버전입니다

OBSOLETE 답변, 그것을 무시하십시오.

Avaje 페이지의 예를

원래 내용은 몇 가지 실수가 있습니다.

  1. 태그가 올바르지 않습니다 '프로세스 ebean-강화'는 메이븐 라이프 사이클 아니므로 예를 구성 플러그인하지 않습니다 실행 올바르게. 올바른 단계는 'process-classes'입니다.
  2. 'classSource'매개 변수가 잘못되었습니다. 구성된대로, ebean 플러그인은 프로덕션 코드가 아닌 테스트 코드에서 @Entity 클래스를 향상시킵니다. 올바른 값은 '$ {project.build.outputDirectory}'입니다.
  3. 프로젝트의 패키지 공간을 업데이트해야합니다. 아래 예제에서 'com.mycompany. **'입니다.

전체 설정을해야한다 : 이것은 "SRC/메인/자바/COM/mycompany"아래에 @Entity의 모든 클래스를 향상

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>process-ebean-enhancement</id> 
        <phase>process-classes</phase> 
        <configuration> 
         <tasks> 
          <property name="compile_classpath" refid="maven.compile.classpath" /> 
          <echo 
           message="Ebean enhancing test classes debug level -----------------------------------" /> 
          <echo message="Classpath: ${compile_classpath}" /> 
          <taskdef name="ebeanEnhance" classname="com.avaje.ebean.enhance.ant.AntEnhanceTask" 
           classpath="${compile_classpath}" /> 
          <ebeanEnhance classSource="${project.build.outputDirectory}" 
           packages="com.mycompany.**" transformArgs="debug=1" /> 
         </tasks> 
         <encoding>UTF-8</encoding> 
        </configuration> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

.

검사 할 패키지를 더 제한함으로써 실행 시간을 향상시킬 수 있습니다.

또한 테스트 클래스를 향상해야하는 경우이 구성을 복제해야 할 수도 있습니다. 이 경우 두 번째 블록에 대해 'proces-test-classes'단계를 사용하십시오.

이클립스와
<plugin> 
    <groupId>org.avaje.ebeanorm</groupId> 
    <artifactId>avaje-ebeanorm-mavenenhancer</artifactId> 
    <version>${ebean.version}</version> 
    <executions> 
     <execution> 
      <id>main</id> 
      <phase>process-classes</phase> 
      <goals> 
       <goal>enhance</goal> 
      </goals> 
      <configuration> 
       <packages>com.package1.**,com.package2.**</packages> 
       <transformArgs>debug=1</transformArgs> 
       <classSource>${project.build.outputDirectory}</classSource> 
       <classDestination>${project.build.outputDirectory}</classDestination> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

당신 경우 :

+0

답변 : http://teamflawless.org/2012/using-maven-to-enable-ebean-enhancement/ – JBCP

1

JBCP의 대답은 오래된 ebean 버전입니다 (012,). newer version (io.ebean)의 경우 ebean-maven-plugin으로 변경해야합니다.

<plugin> 
    <groupId>io.ebean</groupId> 
    <artifactId>ebean-maven-plugin</artifactId> 
    <version>${ebean.version}</version> 
    <executions> 
     <execution> 
      <id>main</id> 
      <phase>process-classes</phase> 
      <goals> 
       <goal>enhance</goal> 
      </goals> 
      <configuration> 
       <packages>com.package1.**,com.package2.**</packages> 
       <transformArgs>debug=1</transformArgs> 
       <classSource>${project.build.outputDirectory}</classSource> 
       <classDestination>${project.build.outputDirectory}</classDestination> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

참고 : ebean 플러그인 버전은 ebean 버전과 동일해야합니다.

참조 :Maven Repo, 여기에 블로그 형태로도 사용할 수 Github

관련 문제