无法解析类 grails.plugin.multitenant.core.util.TenantUtils - Grai



我在旧圣杯中有一个项目,我正在尝试将其升级到新版本的grails 2.3.11,但是这个在导入多租户插件时出错,这是一个错误示例:

D:GitHub~grails-appconfBootStrap.groovy: 3: unable to
resolve class grails.plugin.multitenant.core.util.TenantUtils
@ line 3, column 1.
import grails.plugin.multitenant.core.util.TenantUtils
^

这是我的构建配置:

grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
//grails.project.war.file = "target/${appName}-${appVersion}.war"
grails.project.dependency.resolution = {
// inherit Grails' default dependencies
inherits("global") {
// uncomment to disable ehcache
// excludes 'ehcache'
}
log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
repositories {
grailsPlugins()
grailsHome()
grailsCentral()
// uncomment the below to enable remote dependency resolution
// from public Maven repositories
mavenLocal()
mavenCentral()
//mavenRepo "http://snapshots.repository.codehaus.org"
//mavenRepo "http://repository.codehaus.org"
//mavenRepo "http://download.java.net/maven/2/"
//mavenRepo "http://repository.jboss.com/maven2/"
}
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
// runtime 'mysql:mysql-connector-java:5.1.13'
// https://mvnrepository.com/artifact/org.gagravarr/vorbis-java-core
compile group: 'org.gagravarr', name: 'vorbis-java-core', version: '0.8'
}
plugins {
//build ":tomcat:7.0.52.1"
build ":tomcat:7.0.70"
runtime ":hibernate:3.6.10.9"
compile ':scaffolding:2.0.3'
runtime ":jquery:1.8.3"
compile ':cache:1.1.1'
runtime ':resources:1.2.8'
compile ":cache-headers:1.1.5"
runtime ":cached-resources:1.0"
runtime ":zipped-resources:1.0"
runtime ":yui-minify-resources:0.1.5"
// framework dependencies
compile ":mail:1.0.1"
compile ":fields:1.4"
compile ":runtime-logging:0.4"
compile ":burning-image:0.5.1"
compile ":twitter-bootstrap:2.3.2"
compile ":spring-security-core:2.0-RC4"
compile ":spring-security-rest:1.4.0.RC5"/*, {
excludes: 'spring-security-core'
}*/
// events to implement app hooks
compile ":platform-core:1.0.RC6"
// Para fazer upload de imagens
compile ":attachmentable:0.3.0"
// calendários para campos do tipo Date
compile ":calendar:1.2.1"
// exportar dados para Excel
compile ":excel-export:0.1.9", {
excludes: 'xerces'
}
// Jasper Reports
compile ":jasper:1.11.0"
// Export CSV
compile ":csv:0.3.1"
// Tests
test ":cucumber:0.6.2"
// Profiling
compile ":profiler:0.5"
//webservice SOAP
compile ":cxf:1.1.4"
compile ":cxf-client:2.0.3"
//cron job
compile ":quartz:1.0.2"
compile ":ws-client:1.0"
compile ":multi-tenant-single-db:0.8.3"
//compile ":falcone-util:1.0"
}
}

有谁知道如何解决此错误?或者我必须在我的构建配置中更改什么才能解决,也许是更新的插件?

编辑

似乎合理的解决方案是更改我的代码以与多租户单数据库兼容:0.8.3,然后进行导入,这会产生冲突,但我有以下代码摘录:

class AssetController extends coss.BaseController {
def restCreate = {
TenantUtils.doWithTenant(1) {
try {
def json = JSON.parse(text)
Asset asset = new Asset()
...
} catch (Exception e) {
log.error (e)
render(status:500, text:e.getMessage())
}
}
}
}

如何覆盖此行TenantUtils.doWithTenant (1)

D:\GitHub\~\grails-app\conf\BootStrap.groovy: 3:无法解析 class grails.plugin.multitenant.core.util.TenantUtils @ line 3, 第 1 栏。 import grails.plugin.multitenant.core.util.TenantUtils
^

您的代码使用TenantUtils类,该类在multi-tenant-single-db:0.8.3中不可用,TenantUtils类在此插件的compile "org.grails.plugins:multi-tenant-core:1.0.3"中可用。

但是在浏览了这个插件页面之后,它看起来像">这个插件与Grails 2.x不兼容。你可能想看看 http://grails.org/plugin/multi-tenant-single-db。

所以应该尝试compile "org.grails.plugins:multi-tenant-core:1.0.3"这个插件或根据这个插件文档multi-tenant-single-db:0.8.3更改你的代码。

希望这对你有帮助。

相关内容

最新更新