1

我正在使用activejdbc 1.4.9。我创建了一个 jar(使用 maven),它有两个 ActiveJDBC 模型类。我将 jar 添加到应用程序中。应用程序还有三个模型类。当我编译并尝试运行应用程序(基于 gradle)时,activejdbc 只检测应用程序中的 3 个类,但不检测 jar 中的类。当我尝试将数据写入 jar 中的两个模型时,它会抛出异常

org.javalite.activejdbc.DBException:无法从数据库中检索元数据。你确定表存在于数据库中吗?

现在我有一些疑问。请帮助我解决和理解一些事情。

  1. 仪表是如何发生的?
  2. 当我们创建一个 jar 时,它会包含检测类吗?
  3. 为什么会抛出这个错误?
4

1 回答 1

1

如果类没有被检测,它会抛出这个错误。这意味着在将模型类放入 jar 文件之前,您需要对它们进行检测。不过,您使用哪种构建方法并不重要。这个http://javalite.io/instrumentation 解释了什么是仪器以及如何做。Instrumentation 不会创建 jar,它只是将一些字节码添加到您的类中。在您需要的所有场景中:

  1. 写代码:)
  2. 编译
  3. 乐器

在此之后,您可以执行以下任何操作:

  • 使用文件系统中的类文件运行应用程序
  • 将类文件打包成 jar 文件并在类路径中使用它
  • 将 jar 文件打包成更大的应用程序(WAR、EAR、RAR 等)并部署您的应用程序

有道理?

于 2014-12-08T23:58:01.810 回答