问题标签 [grails3]
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.
jenkins - 当我尝试使用 gradle-release 插件构建时,为什么 Jenkins 会挂起?
我在我的 Grails 项目上设置了发布插件,并在我的本地主机上成功运行了它。
当我尝试在 Jenkins 中设置相同的构建时,构建会无限期地挂起。挂起之前输出中的最后一件事是checkCommitNeeded
步骤。
我能做些什么来弄清楚出了什么问题?
如插件文档中所述,我已经在switch-Prelease.useAutomaticVersion=true
中设置了两个版本参数。
更新
在 Researchgate Gitter 上,Christian Gonzalez 提到 Jenkins 正在检测由发布插件引起的另一个提交,并让自己陷入循环。对于 Git,可以添加一个额外的行为来忽略插件提交的更改。但是,我的项目使用的是 SVN。
更新
下面是添加 -d 的输出片段
11:12:48.907 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ':checkCommitNeeded'.
11:12:48.908 [INFO] [org.gradle.api.Project] Running [svn, status] in [/var/lib/jenkins/jobs/MyTeam/jobs/MyProject/jobs/MyProject-release/workspace]
11:12:48.924 [INFO] [org.gradle.api.Project] Running [svn, status] produced output: []
11:12:48.926 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':checkCommitNeeded'
11:12:48.926 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :checkCommitNeeded (Thread[Daemon worker,5,main]) completed. Took 0.02 secs.
11:12:48.926 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationWorkerRegistry] Worker root.3 completed (0 in use)
11:12:48.926 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationWorkerRegistry] Worker root.4 started (1 in use).
11:12:48.926 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :checkUpdateNeeded (Thread[Daemon worker,5,main]) started.
11:12:48.927 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] :myproject:checkUpdateNeeded
11:12:48.927 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task ':checkUpdateNeeded'
11:12:48.927 [DEBUG] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Determining if task ':checkUpdateNeeded' is up-to-date
11:12:48.927 [INFO] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Executing task ':checkUpdateNeeded' (up-to-date check took 0.0 secs) due to:
Task has not declared any outputs.
11:12:48.927 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ':checkUpdateNeeded'.
11:12:48.928 [INFO] [org.gradle.api.Project] Running [svn, status, -q, -u] in [/var/lib/jenkins/jobs/MyTeam/jobs/MyProject/jobs/MyProject-release/workspace]
11:12:51.477 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
11:12:51.479 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
11:12:51.480 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
11:12:51.481 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
11:13:01.477 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
11:13:01.477 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
11:13:01.478 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
11:13:01.480 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
11:13:11.477 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
11:13:11.477 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
11:13:11.477 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
11:13:11.479 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
...
最后 4 行一遍又一遍地重复。
grails - 无法在 Heroku 上部署我的 Grails 3 应用程序
我正在尝试在 Heroku 上部署我的 Grails 3 应用程序。
我已经参考了这个博客,并遵循了每一步,但是当我尝试运行git push heroku master
命令时,会产生以下输出。
因此,根据输出,我参考了 Heroku 提供的这篇文章并进行了一些更改。现在,每当我尝试运行该命令./gradlew stage
时,一切正常,但是当我尝试使用heroku local web
以下输出在本地运行 heroku 应用程序时。
这是我的 Procfile:
这是我的build.gradle
我正在使用 Grails 3.1.10。如果您已经在 Heroku 上成功部署了 Grails 3 应用程序,那么一步一步的方法将是无价的。
angularjs - Grails 3 src/main/webapp 加载 app.js 文件
所以我试图让一个简单的 Grails 3 和 Angular 应用程序正常工作。在本地启动后,我希望我的app.js
文件被加载,然后加载我的index.html
.
我不完全确定它是如何index/main gsps
工作的,但我的理解是,使用asset-pipeline
,它应该直接指向我的app.js
下面src/main/webapp/js
并$routeProvider
处理其余的。但它永远不会重定向到我的app.js
. 它似乎仍在搜索文件夹中的grails-app/assets
文件。
这是我的index.gsp
:
main.gsp
:
这是我context-path
的application.yml
我app.js
的位于src/main/webapp/js
. 这是 Grails 3 中的替换目录webapp
。所以我将我的 js、html 和 css 文件放在那里。
App.js
:
任何想法我做错了什么?
intellij-idea - 无法在 Grails 3 中创建初始连接池
我有一个带有 Intellij IDEA 2017.1.1 的 grails 3.2.7 应用程序。但问题是我无法为 MySql 数据库(开发环境)创建连接池。
这是我的 application.yml
这是我的 build.gradle
我是 grails 3 的新手,所以有人可以帮我解决这个问题吗?
grails - 从 gsp 访问 Grails Domain 类上的静态映射内容
给定一个基本领域类
如何在 GSP 页面或控制器中访问该静态映射块中的值?
谢谢!
grails3 - Grails 升级到 3 后的预热时间
将 grails 应用程序(使用多个内联插件、> 130 个控制器、> 140 个服务、> 180 个域类、> 600 个 GSP)从 2.5.4 升级到 3.2.8 后:
grails run-app
更新前:2:10 分钟。grails run-app
更新后:5:50 分钟。
大多数时候 grails 3.2.8 run-app 挂在“:boot-run”。特别是在 spring 安全核心初始化后(启动后大约 2 分钟),它会挂起大约 4 分钟。此外,与 grails 2.5.4 相比,CPU 使用率非常低。
该测试在不同的机器上重复进行,并面临相似的结果(Mac、Linux 和 Windows 机器)。
这种行为的原因是什么?
tomcat - gradle war vs gradle assemble(Grails 3.2.6 和 Sec 插件 3.1.2)
我很难弄清楚这一点。我有一个应用程序在 intellij 中运行良好,并且作为独立战争(使用创建gradlew assemble
)。但是,当我尝试在 tomcat 8.5 中部署这场战争(使用gradlew assemble
但provided
在 build.gradle 文件中设置的 tomcat 启动器创建)时,我遇到了这个异常。但是,如果我使用生成战争,gradlew war
那么我看不到这个异常,并且 tomcat 部署得很好。但在那种情况下,我的应用程序会在前端出现与 gsps 和 g: 命名空间相关的各种垃圾错误。
我真的无法理解为什么会这样?这是我的application.groovy
文件(安全相关配置)
有人可以帮我理解发生了什么吗?
spock - 如何使用Spock测试是否从Grails 3中的另一个实例方法中调用实例方法
使用Grails 3.2.8和Spock框架进行测试,给定以下控制器类:
如何测试doSomething()方法以确保someOtherMethod()
只调用一次?
这是我失败的尝试:
错误信息:
注意:已省略导入以关注手头的问题
asynchronous - 在 grails PromiseMap 中,如何阻塞当前线程,让所有并发任务完成并返回结果?
我需要异步获取猫、狗和老鼠,然后进行一些后期处理。这是我正在做的事情:
我面临的问题是,列表中的项目顺序results
不固定,即在一个执行结果中可以是[cats, dogs, mice]
,在另一个执行中,结果可以是[dogs, mice, cats]
。
这意味着访问cats
我需要显式检查元素的类型results
,并且类似地检查dogs
,mice
这使我的代码看起来很糟糕。
在这里浏览文档后,我发现PromiseMap
API 可以帮助我,因为它提供了一种通过键值对访问结果的漂亮方式。这是它提供的:
虽然PromiseMap
有一个onComplete
方法,但它不会让当前线程等待所有的承诺完成。
使用PromiseMap
,我怎样才能阻塞当前线程,直到所有的承诺都完成?
angularjs - Grails 3对自定义API的Restful调用不起作用
尝试对特殊的 oracle pl/sql 验证包进行自定义调用,该包执行自定义域级别验证器之外的操作,但不会触发“firemyvalidations”。你可以看到我尝试过的一些东西被注释掉了。谁能发现我的问题?我正在使用带有 angularjs 休息配置文件的 grails 3.2.6。
urlmappings.groovy
FytrnltController.groovy
通过 Postman 访问端点返回 404 错误。
Grails 生成以下内容: