gpt4 book ai didi

java - 无法在 Intellij IDEA 社区中为 ActiveJDBC 设置检测

转载 作者:行者123 更新时间:2023-11-30 03:41:01 25 4
gpt4 key购买 nike

我正在尝试在 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 的默认配置中 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

但我仍然遇到同样的错误,询问模型是否已被检测。但仪表输出似乎没问题。

最佳答案

问题与您的目录名称中包含空格有关:

home/k-/Idea Projects/project/project/target/classes

本期:https://github.com/javalite/activejdbc/issues/91已于 2014 年 2 月 7 日修复,但未纳入最新版本。我们很快就会发布 1.4.10 版本,但目前您可以使用 Sonatype 存储库中的 1.4.10-SNAPSHOT,该版本没有此错误:

只需将其添加到您的 pom 并将 ActiveJDBC 的版本和 Instrumentation 插件切换到快照即可:

<repositories>
<repository>
<id>snapshots1</id>
<name>Sonatype Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>snapshots2</id>
<name>Sonatype Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>

关于java - 无法在 Intellij IDEA 社区中为 ActiveJDBC 设置检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26823141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com