【问题标题】:using POJO domain jar in Grails 3在 Grails 3 中使用 POJO 域 jar
【发布时间】:2016-02-25 21:36:39
【问题描述】:

我正在尝试将 Grails 2.x 项目移植到 Grails 3。基于 2.x 的项目的域由 JAR 中的 POJO 组成,但现在 v3 不再有 /lib 目录,文档建议以下:

4.7 依赖解析

依赖解析由 Gradle 构建工具处理,所有依赖都在 b​​uild.gradle 文件中定义。有关详细信息,请参阅 Gradle 用户指南。

(doc link)

...谁能提供一个简短的版本来说明如何处理添加 jar 依赖项(我对 Gradle 的熟悉程度为 0)

当我尝试运行 'run-app' 命令时,会出现此错误(因此至少正在读取休眠配置文件):

创建名为“sessionFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 org.hibernate.MappingException: Unable to load class [com.flightloglib.domain.AircraftMakeAndModel] 在 Hibernate 配置条目中声明

【问题讨论】:

    标签: grails-3.0 dependency-resolution


    【解决方案1】:

    为你的 jar 创建一个目录,比如lib。那么

    在您的 build.gradle 的依赖项块中,为您的 jar 创建一个编译时依赖项。

    dependencies {
        compile files('lib/pojos.jar')
        // ...
    }
    

    适用的文档在这里:Chapter 52

    【讨论】:

      【解决方案2】:

      ...我最终做的是指定我的 jar 的绝对路径:

          dependencies {
      ...
      compile files("/home/some-user-name-here/work/web/FlightLogGrails3/grails-app/lib/FlightLogLib.jar")
      ...
      }
      

      【讨论】:

      • 如果您将 lib 目录移动到项目级别(而不是在 grails-app 中),我希望相对路径 'lib/FlightLogLib.jar' 可以工作。您甚至可以将其设为文件集规范,并将您放入其中的任何 jar 添加到路径中。
      猜你喜欢
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 2016-04-10
      • 2016-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-18
      相关资源
      最近更新 更多