[英]Grails 3 upgrade - unable to resolve class grails.plugin.rendering.pdf.PdfRenderingService
I inherited a multi-module grails application based on Grails 2.5.4.我继承了一个基于 Grails 2.5.4 的多模块 grails 应用程序。
I installed groovy 3.0.4 and grails 3.3.11, and I completed the grails upgrade tasks base on the tutorial provided on the official website ( https://docs.grails.org/3.0.x/guide/upgrading.html ).我安装了 groovy 3.0.4 和 grails 3.3.11,根据官网提供的教程( https://docs.grails.org/3.0.x/guide/upgrading.html )完成了 grails 升级任务。
I'm dealing with tons of code adaptation but I'm bumping on a particular issue as I try to build the project, I'm facing the following issue:我正在处理大量代码改编,但在尝试构建项目时遇到了一个特定问题,我面临以下问题:
C:\repo\upgraded-app\myapp-web\grails-app\services\bitt\PdfRenderingService.groovy: 9: unable to resolve class grails.plugin.rendering.pdf.PdfRenderingService
@ line 9, column 1.
@Transactional
^
The code involved is the following:涉及的代码如下:
import com.lowagie.text.pdf.BaseFont
import grails.transaction.Transactional
import grails.util.Environment
import org.w3c.dom.Document
import org.xhtmlrenderer.pdf.ITextRenderer
@Transactional
class PdfRenderingService extends grails.plugin.rendering.pdf.PdfRenderingService {
...
and my build.gradle file is the following:我的 build.gradle 文件如下:
buildscript {
repositories {
mavenLocal()
maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
classpath "org.grails:grails-gradle-plugin:$grailsVersion"
classpath "org.grails.plugins:hibernate5:${gormVersion-".RELEASE"}"
classpath "com.bertramlabs.plugins:asset-pipeline-gradle:2.15.1"
}
}
version "0.1"
group "bitt.web"
apply plugin:"eclipse"
apply plugin:"idea"
apply plugin:"war"
apply plugin:"org.grails.grails-web"
apply plugin:"asset-pipeline"
apply plugin:"org.grails.grails-gsp"
repositories {
mavenLocal()
maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
compile project(':../bitt-core')
compile "org.springframework.boot:spring-boot-starter-logging"
compile "org.springframework.boot:spring-boot-autoconfigure"
compile "org.grails:grails-core"
compile "org.springframework.boot:spring-boot-starter-actuator"
compile "org.springframework.boot:spring-boot-starter-tomcat"
compile "org.grails:grails-web-boot"
compile "org.grails:grails-logging"
compile "org.grails:grails-plugin-rest"
compile "org.grails:grails-plugin-databinding"
compile "org.grails:grails-plugin-i18n"
compile "org.grails:grails-plugin-services"
compile "org.grails:grails-plugin-url-mappings"
compile "org.grails:grails-plugin-interceptors"
compile "org.grails.plugins:cache"
compile "org.grails.plugins:async"
compile "org.grails.plugins:scaffolding"
compile "org.grails.plugins:events"
compile "org.grails.plugins:hibernate5"
compile "org.hibernate:hibernate-core:5.1.16.Final"
compile "org.grails.plugins:gsp"
compile 'org.grails.plugins:spring-security-core:3.2.3'
compile 'org.grails.plugins:spring-security-acl:3.2.1'
compile 'org.grails.plugins:grails-markdown:3.0.0'
compile 'org.grails.plugins:rendering:2.0.3'
compile 'org.grails.plugins:excel-export:2.1'
compile 'org.grails.plugins:grails-cookie:2.0.3'
compile 'org.grails.plugins:spring-security-ui:3.0.2'
compile 'org.grails.plugins:http-builder-helper:1.1.0'
compile 'org.grails.plugins:audit-logging:3.0.6'
console "org.grails:grails-console"
profile "org.grails.profiles:web"
runtime "org.glassfish.web:el-impl:2.1.2-b03"
runtime "com.h2database:h2"
runtime "org.postgresql:postgresql:9.4-1203-jdbc42"
runtime "org.apache.tomcat:tomcat-jdbc"
runtime "com.bertramlabs.plugins:asset-pipeline-grails:2.15.1"
testCompile "org.grails:grails-gorm-testing-support"
testCompile "org.grails.plugins:geb"
testCompile "org.grails:grails-web-testing-support"
testCompile "org.grails.plugins:geb:1.1.2"
testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"
testRuntime "net.sourceforge.htmlunit:htmlunit:2.18"
testRuntime "org.seleniumhq.selenium:selenium-chrome-driver:2.47.1"
}
bootRun {
jvmArgs('-Dspring.output.ansi.enabled=always')
addResources = true
String springProfilesActive = 'spring.profiles.active'
systemProperty springProfilesActive, System.getProperty(springProfilesActive)
}
tasks.withType(Test) {
systemProperty "geb.env", System.getProperty('geb.env')
systemProperty "geb.build.reportsDir", reporting.file("geb/integrationTest")
systemProperty "webdriver.chrome.driver", System.getProperty('webdriver.chrome.driver')
systemProperty "webdriver.gecko.driver", System.getProperty('webdriver.gecko.driver')
}
assets {
minifyJs = true
minifyCss = true
includes = ["fonts/*"]
}
The code above mentioned is working fine in Grails 2... but now provokes a compilation error with Grails 3 ... any idea why ?上面提到的代码在 Grails 2 中运行良好......但现在引发了 Grails 3 的编译错误......知道为什么吗?
Thanks.谢谢。
Upgrading between major Grails versions is not that easy, as Gradle config has big differences.在主要 Grails 版本之间升级并不是那么容易,因为 Gradle 配置有很大的不同。
I suggest you use Grails Starter to get a sample app, unpack the build.gradle
, gradle.properties
from there, and merge your old config (mostly dependencies) into it.我建议您使用Grails Starter获取示例应用程序,从那里解压
build.gradle
、 gradle.properties
,并将您的旧配置(主要是依赖项)合并到其中。
Configuration has also changed from .groovy files to .yml, consider migrating them as well.配置也从 .groovy 文件更改为 .yml,也考虑迁移它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.