我升级到 groovy 2 版本,现在我的构建被破坏了。
导入类时失败:groovy.json.JsonSlurper 和 XmlSlurper。
我检查了http://groovy.codehaus.org/gapi/并且找不到这些类了。它们仍然存在于 groovy 2 中吗?还是他们搬到了某个地方?
我升级到 groovy 2 版本,现在我的构建被破坏了。
导入类时失败:groovy.json.JsonSlurper 和 XmlSlurper。
我检查了http://groovy.codehaus.org/gapi/并且找不到这些类了。它们仍然存在于 groovy 2 中吗?还是他们搬到了某个地方?
带有 groovy 2的groovy.jar
分布式已被拆分为仅包含最少的部分,所有附加模块(XML、SQL、JSON 等)都在单独的 jar 中。但是,在embeddable
目录中,您会找到一个 jar 文件groovy-all-2.0.0.jar
,其中包含 groovy 和所有模块,就像以前的版本一样。最简单的迁移方法是使用这个 jar 文件。
如果您使用的是 Maven Central,则可以使用artifactId
ofgroovy-all
来获取所有内容,或者groovy
(加上模块)对您的依赖项进行更细粒度的控制。以下是 Maven Central 上可用模块的列表:http ://search.maven.org/#search|ga|1|g%3A%22org.codehaus.groovy%22
没关系。需要包含 groovy-xml 和 groovy-json jars。这些是从 groovy 的罐子里分离出来的。见: http: //www.infoq.com/articles/new-groovy-20
当我导入 groovy-json-2.4.3 和 groovy-xml-2.4.3 时,JsonSlurper 被识别。
另请参阅 1.8.0 版本之后的新代码重构:Parsing array of JSON arrays in Groovy
不要使用“groovy.json.jsonSlurper”,而是使用“net.sf.json.groovy.JsonSlurper”。您的脚本必须正在运行。
我在 Java 项目的 Gradle 构建中遇到了类似的问题(Gradle 使用 Groovy)。
Gradle 自动停止在类路径中包含本地 Groovy 库。因此,我必须在 build.gradle 文件中包含以下几行(标有 +):
buildscript {
ext {
springbootVersion = '2.x.x'
awsVersion = '1.x.x'
...
}
+ dependencies {
+ classpath localGroovy()
+ }
repositories ...
}