java - 无法使用 IntelliJ IDEA 运行配置获得 ActiveJDBC 动态检测
问题描述
我正在尝试在 Intellij IDEA(2018.1 Ultimate)中的 JUnit 测试的运行配置中使用 ActiveJDBC 的动态检测和 -javaagent 命令行选项。我在运行配置对话框的“VM 选项”输入字段中输入了以下内容:
-javaagent:"C:\Users\cschabli\.m2\repository\org\javalite\activejdbc-instrumentation\2.0\activejdbc-instrumentation-2.0.jar" -Dactivejdbc-instrumentation.log=true
开始单元测试后,我收到 ActiveJDBC 检测代理的日志消息,如下所示:
ActiveJDBC Instrumentation - You are using dynamic instrumentation
ActiveJDBC Instrumentation - Found model: foo.bar.MyModel
但是当应用程序代码访问模型类时,我收到以下错误消息:
org.javalite.activejdbc.InitException: failed to determine Model class name, are you sure models have been instrumented?
为什么这在 IDEA 中不起作用?
解决方案
来自 Jetbrains 的反馈:
对于 Gradle 项目,您可以告诉 IDEA 将 IDE 构建/运行操作委托给 Gradle(请参阅选项 Preferences | Build, Execution, Deployment | Build Tools | Gradle | Runner | Delegate IDE build/run actions to gradle)。
对于 Maven 项目,目前没有解决方案。他们已提交问题IDEA-195924。
推荐阅读
- javascript - 我正在尝试放置一个
- nginx - nginx:从 http 到 https 的无限重定向,反之亦然
- php - Apache mod_proxy_fcgi、php-fpm 和 url 重写问题
- javascript - 使用大众的响应式排版?
- php - htaccess 阻止所有查询字符串,但不阻止 index.php
- swift - 带有 Cloudflare 的 AVPlayer
- reactjs - 使用 React 和 Sharepoint Online 第 1 部分
- c# - 如何通过 C# 代码部署存储过程?
- sqlite - sql lite更新查询列表参数问题
- python - 有没有办法查看一个类中的至少一个对象是否具有某个值的属性?