Avaje.org ebean ORMレイヤーをしばらく使用していますが、Mavenで「Ebeanv2.6.0ユーザーガイド」に記載されているバイトコード拡張機能を有効にする方法がわかりません。
Avaje.orgホームページで設定例を見つけましたが、機能しません。GitHubのデモMavenボイラープレートも同様です。
ヘルプ!
Avaje.org ebean ORMレイヤーをしばらく使用していますが、Mavenで「Ebeanv2.6.0ユーザーガイド」に記載されているバイトコード拡張機能を有効にする方法がわかりません。
Avaje.orgホームページで設定例を見つけましたが、機能しません。GitHubのデモMavenボイラープレートも同様です。
ヘルプ!
EBeansには独自のMavenプラグインがありますが、オンラインでドキュメントが見つからないため、その使用方法の例を次に示します。
<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>
Eclipseで
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>
廃止された回答
この回答は、非常に古いバージョンのEBeanに関するものです。無視してください。
オリジナルコンテンツ
Avajeページの例にはいくつかの間違いがあります。
完全な構成は次のようになります。
<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>
これにより、「src / main / java / com/mycompany」以下のすべての@Entityクラスが拡張されます。
検査するパッケージをより制限することで、実行時間を改善できます。
また、テストクラスを拡張する必要がある場合は、この構成を複製する必要があります。その場合、2番目のブロックに「proces-test-classes」フェーズを使用します。
JBCPの答えは、古いebeanバージョン(org.avaje.ebeanorm
)に対するものです。新しいバージョン( )の場合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