【发布时间】:2018-10-02 18:31:14
【问题描述】:
我有一堆运行良好的 groovy 脚本。但是,它们总是存在加载整个 JVM 的“冷启动”问题。我想将它们与 gradle 一起作为任务运行(不将它们定义为任务,这样它们就可以在没有 gradle 的情况下运行),这样我就可以将 gradle 保持在守护程序模式,从而保持“热”
我当前的项目并没有真正起作用,因为我需要的一个 groovy 文件不在类路径中。我可以手动加载它,但我怀疑有一些更简单的东西(约定?)
这是我的 repo 的树形视图
$ tree
.
├── build.gradle
├── settings.gradle
└── src
├── BBScm.groovy
├── Scm.groovy
├── StashScm.groovy
├── mixins.groovy
└── stash.groovy
这是我的 build.gradle:
plugins {
id 'groovy'
}
group 'org.bongiorno'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
configurations {
groovyScript
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.5.2'
}
task analyze {
doLast{
apply from: 'src/stash.groovy'
}
}
我得到的错误很清楚:
script '/Users/cbongiorno/dev/mystuff/stash/src/stash.groovy': 22: unable to resolve class StashScm
@ line 22, column 13.
Scm stash = new StashScm(u: srcUser, p: srcPass, baseUrl: 'https://xxxxx')
^
要明确:我的问题是最简单的方法是什么?因为我绝对可以破解这个问题
【问题讨论】:
-
我刚刚安装了它,我正在试一试……到目前为止,一切都很好。在某种程度上,它比我的想法更好,因为它更直观。另一方面,它是另一个安装工具。会做实验。谢谢
-
好的,我现在使用了一点,它有完全相同的错误 - 我认为我看到的是编译错误而不是运行时错误。我认为 groovy 编译器不知道我在说什么,即使这个文件就在运行的文件旁边。我认为我没有早点遇到这个问题的原因是因为整个代码目录在intellij中添加为src