Intellij IDEA で ActiveJDBC インストルメンテーションをセットアップしようとしていますが、手順のすべての手順を実行しましたが、機能しません。
私pom.xml
はプラグインを有効にしています:
<build>
<plugins>
<plugin>
<groupId>org.javalite</groupId>
<artifactId>activejdbc-instrumentation</artifactId>
<version>1.4.9</version>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>instrument</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
次に、データベース内のテーブルに対応する 2 つの試行モデルを作成しました: Client
(to table clients
) とSiteUrl
(to table site_urls
)。
また、JUnit のデフォルト設定で Make した後、Maven の目標としてインストルメンテーションを有効にしました。実際、問題なく動作するようです:
**************************** START INSTRUMENTATION ****************************
Directory: /home/k-/Idea Projects/project/project/target/classes
**************************** END INSTRUMENTATION ****************************
**************************** START INSTRUMENTATION ****************************
Directory: /home/k-/Idea Projects/project/project/target/test-classes
Found model: package.persistance.Client
Found model: package.persistance.SiteUrl
Instrumented class: package.persistance.Client in directory: /home/k-/Idea%20Projects/project/project/target/classes/
Instrumented class: package.persistance.SiteUrl in directory: /home/k-/Idea%20Projects/project/project/target/test-classes/
**************************** END INSTRUMENTATION ****************************
しかし、次のコードを実行しようとすると、エラーが発生します。
public class FirstTests
{
@Test
public void saveTest() {
Base.open("com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1/test_db", "root", "");
Assert.assertTrue(Base.hasConnection());
Client c = new Client();
c.set("name", "client 1");
c.saveIt();
}
}
エラーは次のとおりです。
org.javalite.activejdbc.DBException: failed to determine Model class name, are you sure models have been instrumented?
何が問題なのかわかりません。どうすれば修正できますか?
編集 コマンドラインからプロジェクトをビルドしようとしました。適切に実行したかどうかはわかりませんが、使用したコマンドは次のとおりです。
mvn clean compile org.javalite:activejdbc-instrumentation:1.4.9:instrument assembly:single
しかし、モデルがインストルメント化されているかどうかを尋ねる同じエラーが引き続き表示されます。しかし、計装出力は問題ないようです。