我试图在Intellij IDEA中设置ActiveJDBC工具,但尽管我执行了指令中的所有步骤,但无法使其工作。无法为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>
然后,我创建了两个试用机型:Client
(表clients
)和SiteUrl
(表site_urls
)。
我还在JUnit的默认配置中启用了检测作为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
但我仍然得到同样的错误,询问是否车型已仪表。但仪表输出似乎没问题。
因此,仪表工作在命令行或通过您的构建脚本(Maven,Ant,Gradle等),对吧? – Makoto 2014-11-08 23:38:45
我想它通过构建脚本工作。这就是我在IDEA的“输出”窗口中获得的内容,之后它将运行实际的代码,然后这就是错误的来源。我会用图片更新这个问题。 – moskalak 2014-11-08 23:39:23
因此,不要从IntelliJ内运行Maven目标,而是尝试在命令行上运行它,看看是否有效。如果确实如此,那么我们可以将它隔离为一个特定于IntelliJ的问题。 – Makoto 2014-11-08 23:46:24