问题标签 [grails-4]
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.
grails - 如何让 sonarqube 拾取 jacoco 测试覆盖率报告
我有使用 jacoco 插件的 gradle 项目
现在我的本地我可以在默认位置报告/jacoco/test/html/index.html 看到测试覆盖率报告
我应该输入任何其他信息吗?
java - grails 4.x:使用自定义环境创建 WAR 始终在开发中运行
我无法让我的自定义环境在 Tomcat 下运行。它总是加载开发配置文件。
我在 Grails 4.0.5 下使用以下内容创建了一个 WAR:
生成的 grails.build.info 看起来是正确的:
但是,当我将它放入 Tomcat 8 并运行时,我得到了这个:
但是,独立运行可以正常工作:
grails - Grails 4 迁移后无法运行集成测试用例
将应用程序从 Grails 3.3.11 迁移到 Grails 4.0.6 后,我无法运行集成测试。当我尝试运行集成测试时,它会抛出错误:
在调查未来时,我发现
Grails 域类 API 已弃用 表示域类及其属性的遗留类已被弃用,取而代之的是映射上下文 API。
这样做的原因是为了避免在 GORM 和 Grails 之间重复解析相同的类数据并减少整体启动时间。
这些类中方法的内部实现现在委托给映射上下文。由于该更改,在应用程序上下文可用之前,有关您的域类的信息不可用。
例如,在以前的 Grails 版本中,可以访问 GrailsDomainClass 实例并检查插件中 doWithSpring 方法内的 GrailsDomainClassProperty 属性。
如果您有遵循该示例的代码,则会抛出一个错误,类似于“在 GORM 初始化之前无法访问该方法......”。解决方案是将在上下文可用之前执行的任何逻辑移动到在上下文可用之后执行的其他地方。
所有使用 GrailsDomainClass 或 GrailsDomainClassProperty 类的代码都应该重写以使用映射上下文 api。
首先,注入 grailsDomainClassMappingContext bean。有关 MappingContext、PersistentEntity (GrailsDomainClass) 和 PersistentProperty (GrailsDomainClassProperty) 的更多信息,请参阅 api 文档。
grails - 信息 api 未在 grails 4 应用程序中使用 gradle-git-properties 插件显示 git 信息
我正在尝试按照https://guides.grails.org/adding-commit-info/guide/index 使用 gradle-git-properties 插件获取 git 提交详细信息作为“/actuator/info”api 端点的一部分。 html指南,但没有运气。我遵循的步骤:
- "sdk install grails 4.0.8" //使用 sdkman 安装最新的 grails 4 版本
- "sdk use grails 4.0.8" //确保我当前的 shell 也使用最新版本
- "grails create-app myapp --profile=rest-api" //创建一个虚拟应用
- "cd myapp" //将工作目录更改为新应用程序
- "git init" //初始化 git
- 根据指南,我更新了 build.gradle
- 还更新了 application.yml 文件以启用执行器端点
- 使用 ./gradlew bootRun 运行应用程序
我看到 git.properties 文件已正确生成并放置在项目文件夹内的“build/resources/main”文件夹下。但是当我在浏览器中点击“http://localhost:8080/actuator/info”时,我看到的只是:
但没有 git 相关信息。在这里提出同样的问题很好:https ://github.com/n0mer/gradle-git-properties/issues/161
hibernate - 使用 uuid id 生成器的 Grails:不是很随机
一个简单的 Grails 4 应用程序uuid
在 Ubuntu 20.04 下使用带有 Hibernate 7.0.4 插件和 PostgreSQL 10 的 id 生成器。以下是创建 4 个实例后的一些输出:
我的假设是 uuid = randomness,但这个结果非常不随机。随机性是不可预料的吗?
grails-controller - Web Flows 在 Grails 4 中仍然存在吗
我正在研究Grails 4.0.9并考虑尝试使用Web Flow编写应用程序来管理多部分问卷表单,但我很难找到任何最新的文档。
Grails 2.4.3曾经有Spring Web Flow 插件,但该项目自 2015 年以来没有任何更新。
Spring Web Flow 的最新稳定版本是 2.5.1,于 2018 年 9 月发布。
所以在我看来,网络流不再是一回事,但我也没有看到任何文档说“改用这个”。
但是,Grails 4.0.9 文档第13.2 章 Scoped Services确实提到了 Service 类可以具有流和对话范围,Spring Web Flow 插件的文档中也提到了这些范围。不幸的是,似乎没有任何关于正确使用这些范围的文档:最重要的是,如何启动、更新和终止流程?
所以我一直在这里追自己的尾巴吗?Web Flow 在现代 Grails 4.x 应用程序中仍然存在吗?如果是,我应该怎么做?如果不是,是否有替代方法或者我应该开始创建自己的解决方案?
asynchronous - Grails 4 异步与数据库操作
我的 Grails 4.0.10 应用程序需要调用外部服务。调用可能需要长达 3 分钟,所以它必须是异步的。在阅读了文档后,我编写了一个非阻塞服务方法来使用 Promise 执行调用而没有太多麻烦。
该文档描述了如何显示异步结果。
就我而言,结果会影响数据库。我必须创建新的域对象,修改现有的域对象并将结果保存在onComplete
闭包中。doco 对如何做到这一点相当安静。
onComplete
这些是我对关闭的假设。我的问题是:这些假设是否有效?这是正确的方法吗?
- 没有注入的东西可用,既不是服务也不是(例如)
log
——你通常期望在服务中的东西 - 如果使用多租户,则必须首先将数据库逻辑包含在
Tenants.withId
其中,然后再将其包含在withTransaction
withTransaction
以域名为前缀。但是,其他域可以在同一个闭包中自由操作和持久化- 在异步调用之前拾取的域实例可以像这样附加到当前会话
instance.attach()
,然后修改并保存 - 如果需要记录,请创建一个新的日志实例
grails-4 - Grails 4 fields-plugin:生成默认模板
有没有办法生成默认模板 gsp 的
或类似的?
不生成 _field 模板
gradle - Grails 4 https://repo.grails.org/grails/core 不再能够下载依赖项
我们已经使用 Grails 4.0.0 一年多了,从昨天开始,我们现在无法使用以下构建配置下载依赖项。
}
我们收到以下错误。看起来https://repo.grails.org/grails/core不再是下载依赖项的正确 URL 存储库。有谁知道正确的 URL 或如何解决?尝试过http://repo.grails.org/grails/plugins/并尝试了不同类型的东西,但没有奏效。在此先感谢您的帮助!
无法解析配置“:classpath”的所有工件。找不到 org.grails:grails-gradle-plugin:4.0.0。在以下位置搜索: - https://repo.grails.org/grails/core/org/grails/grails-gradle-plugin/4.0.0/grails-gradle-plugin-4.0.0.pom - https:// /repo.grails.org/grails/core/org/grails/grails-gradle-plugin/4.0.0/grails-gradle-plugin-4.0.0.jar 要求:项目:
- 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。