问题标签 [grails-3.3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
90 浏览

grails-3.3 - 服务器启动期间出现 UnsatisfiedDependencyException

我正在将 grails 应用程序从 2.x 升级到 3.3.9。我遇到了我不理解的堆栈跟踪 UnSatisfiedDependencyException。堆栈跟踪如下。有趣的是在它所说的堆栈跟踪消息的末尾 - 无法确定表中 ....PlatformTransactionManager 的类型 - “表名”,列 - “transaction_manager”。表中没有该名称的列,也没有在域对象中定义。

0 投票
1 回答
125 浏览

grails - 在 grails 3 应用程序中,什么是微调器,我需要 application.js 吗?

grails 3 带有 bootstrap 3。我想基于 grails 4 创建自己的 main.gsp 布局,即将默认的 main.gsp 替换为以下内容:

默认 main.gsp 的底部是这样的:

问题是,我应该包括这些吗?在我使用 grails 的这些年里,我从未见过 UI 中出现微调器,所以不确定这是否真的有效?

我猜我不想要application.js?

也不确定这是做什么用的,因为它没有内容:

0 投票
1 回答
148 浏览

grails - 如何将 logback 配置为从 Grails 3.x 上的 Bootstrap 以 INFO 级别记录?

我正在将应用程序从 Grails 2.5.6 迁移到 Grails 3.3.9,我无法从 Bootstrap.groovy 工作的日志,我需要为在init,但在网上找不到一个关于如何完成的示例。

0 投票
1 回答
563 浏览

spock - 如何在 URL 中使用带有部分路径的 HttpBuilder?

在我的 Grails 应用程序中,我有一个包含部分 URL 路径的配置属性,如下所示: http://apis.mycompany.com/my-api/v1/

我想使用此 URL 调用端点HttpBuilder

request.uri.path擦除现有路径段:

我能够解决这个问题:

...但我无法让 Ersatzraw在我的 Spock 测试中使用:

分配给的 URLraw是:http://localhost:-1/resources/data

这会导致异常:

这是 HttpBuilder 中的错误,还是我做错了?帮助表示赞赏!

更新:

我以为 Ersatz 会在构建时开始,但事实证明我错了。在使用 URL 之前调用start()修复了 -1 端口号:

现在,构建器正在获取一个看似有效的 URL: http://localhost:52180/resources/data

...但是 Ersatz 服务器给出的消息是期望不匹配。

Ersatz 文档表明应该打印出不匹配的请求,但它只打印上面的堆栈跟踪(和 HttpNotFoundException)。

0 投票
2 回答
283 浏览

groovy - 公共 groovy 方法必须是公共的,编译器说

这个错误的原因是什么,我该如何解决?

乍一看,这似乎是 groovy 编译器的一个缺陷。

我的 grails 集成测试如下所示:

我的性格是这样的:

更新public为特征设置方法添加了关键字。

0 投票
1 回答
370 浏览

grails - Grails:运行插件时服务未注入控制器

我正在创建一个 Grails (3.3.9) 插件来保存一些内部应用程序的共享后端代码。出于某种原因,当我运行插件来测试它时,我的服务没有被注入到我的控制器中。

我从默认的 web 插件配置文件开始,创建了一个名为 Entry 的域类,然后运行 ​​generate-all 来创建控制器、服务和视图。当我尝试将插件作为应用程序运行并查看单个域实例时,我收到以下错误:

堆栈跟踪将我带到控制器中的第 18 行:

这向我表明这entryService是空的。

我的域类如下所示:

控制器如下:

服务看起来像这样:

根据 Grails 插件文档,我希望能够像任何其他应用程序一样独立运行插件,并且在普通应用程序中,将服务定义为接口可以正常工作。如果我将此插件安装到我的本地 maven 缓存并在应用程序中使用它,它会完全按照我的预期工作;我能够访问控制器的show端点并从我的数据库中取回结果。

有一次我尝试将服务实现为一个类,而不是让它成为一个接口,但后来我收到了这个错误:

关于如何正确设置和运行 Grails 插件,我缺少什么?

0 投票
1 回答
597 浏览

unit-testing - grails 3中的自定义验证器名称

我正在将一个大项目从 grails 2.5.4 迁移到 3.3.10。一切进展顺利,但我的域对象有一个市长问题。我用这种方式编写我的自定义验证器:

Grails 抛出以下异常

在 grails 3.x 中,这种定义验证器的方式似乎被打破了。我知道文档说要使用这种方式:

但在这种情况下要重写很多代码。

有没有办法使用定义验证器的旧方法?

谢谢

0 投票
1 回答
70 浏览

grails - Grails 3 中的下拉列表

我正在使用 开发应用程序Grails 3.3.10,我正在尝试创建一个下拉列表,但我将其变为空我将值放入application.yml文件中,下面是我的代码。

应用程序.yml:

领域:

_form.gsp

0 投票
0 回答
363 浏览

spring-boot - 将代码迁移到 Grails 3.3 后,FilterRegistrationBean 在运行时未找到错误

在将我的应用程序从 Grails 2.4.3 迁移到 Grails 3.3.8 并使用新的 spring 安全插件后,虽然 Java/Groovy 文件和 war 程序集的编译正常,但在部署期间我得到了 FilterRegistrationBean not found 错误。

从我的 build.gradle 中可以看出,我正在使用以下版本的 spring 安全插件: compile "org.grails.plugins:spring-security-core:3.2.1" compile "org.grails.plugins:spring-security -ui:3.1.1" 我已经尝试了所有其他可能的组合。比如 spring-security-core 的 3.2.3 和 spring-security-ui 的 3.1.2。我知道 Grails 3.3 使用的 Spring boot 1.5 已将 FilterRegistrationBean 移动到不同的包中。尽管如此,我还是无法弄清楚为什么会出现异常。

构建.gradle:

资源.groovy:

堆栈跟踪:

0 投票
0 回答
43 浏览

grails - 控制器更改后需要重新启动 Grails

我正在开发应用程序,Grails 3.3.10如果我对控制器或服务进行了任何更改,我需要重新启动 Grails 以查看该更改的效果,这很耗时,我尝试重建项目但仍然没有效果,我的 IDEIntellij是有没有办法在不重新启动 Grails 的情况下看到效果?