Maven 升级到Grails2.3:找不到工件net.sf.ehcache:ehcache-core
我刚刚将Grails从2.2.4升级到2.3,用于一个小型应用程序,如下所示:Maven 升级到Grails2.3:找不到工件net.sf.ehcache:ehcache-core,maven,grails,dependencies,Maven,Grails,Dependencies,我刚刚将Grails从2.2.4升级到2.3,用于一个小型应用程序,如下所示: brew upgrade grails grails upgrade grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0) grails.project.class.dir = "target/classes" grails.project.test.class.dir = "ta
brew upgrade grails
grails upgrade
grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0)
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.target.level = 1.6
grails.project.source.level = 1.6
//grails.project.war.file = "target/${appName}-${appVersion}.war"
// uncomment (and adjust settings) to fork the JVM to isolate classpaths
//grails.project.fork = [
// run: [maxMemory:1024, minMemory:64, debug:false, maxPerm:256]
//]
grails.project.dependency.resolver = "maven"
grails.project.dependency.resolution = {
// inherit Grails' default dependencies
inherits("global") {
// specify dependency exclusions here; for example, uncomment this to disable ehcache:
// excludes 'ehcache'
}
log "error" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
checksums true // Whether to verify checksums on resolve
legacyResolve false // whether to do a secondary resolve on plugin installation, not advised and here for backwards compatibility
repositories {
inherits true // Whether to inherit repository definitions from plugins
grailsPlugins()
grailsHome()
grailsCentral()
mavenLocal()
mavenCentral()
// uncomment these (or add new ones) to enable remote dependency resolution from public Maven repositories
//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 e.g.
// runtime 'mysql:mysql-connector-java:5.1.22'
}
plugins {
// runtime ":hibernate:$grailsVersion"
runtime ":jquery:1.8.3"
runtime ":resources:1.2"
// Uncomment these (or add new ones) to enable additional resources capabilities
//runtime ":zipped-resources:1.0"
//runtime ":cached-resources:1.0"
//runtime ":yui-minify-resources:0.1.5"
build ":tomcat:7.0.40.1"
runtime ":database-migration:1.3.2"
compile ':cache:1.0.1'
compile ":scaffolding:1.0.0"
compile "net.sf.ehcache:ehcache-core:2.4.6"
compile ":mongodb:1.3.0"
}
}
然后,我根据以下内容更改了BuildConfig.groovy:
brew upgrade grails
grails upgrade
grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0)
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.target.level = 1.6
grails.project.source.level = 1.6
//grails.project.war.file = "target/${appName}-${appVersion}.war"
// uncomment (and adjust settings) to fork the JVM to isolate classpaths
//grails.project.fork = [
// run: [maxMemory:1024, minMemory:64, debug:false, maxPerm:256]
//]
grails.project.dependency.resolver = "maven"
grails.project.dependency.resolution = {
// inherit Grails' default dependencies
inherits("global") {
// specify dependency exclusions here; for example, uncomment this to disable ehcache:
// excludes 'ehcache'
}
log "error" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
checksums true // Whether to verify checksums on resolve
legacyResolve false // whether to do a secondary resolve on plugin installation, not advised and here for backwards compatibility
repositories {
inherits true // Whether to inherit repository definitions from plugins
grailsPlugins()
grailsHome()
grailsCentral()
mavenLocal()
mavenCentral()
// uncomment these (or add new ones) to enable remote dependency resolution from public Maven repositories
//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 e.g.
// runtime 'mysql:mysql-connector-java:5.1.22'
}
plugins {
// runtime ":hibernate:$grailsVersion"
runtime ":jquery:1.8.3"
runtime ":resources:1.2"
// Uncomment these (or add new ones) to enable additional resources capabilities
//runtime ":zipped-resources:1.0"
//runtime ":cached-resources:1.0"
//runtime ":yui-minify-resources:0.1.5"
build ":tomcat:7.0.40.1"
runtime ":database-migration:1.3.2"
compile ':cache:1.0.1'
compile ":scaffolding:1.0.0"
compile "net.sf.ehcache:ehcache-core:2.4.6"
compile ":mongodb:1.3.0"
}
}
仅添加/更改了以下行:
grails.project.dependency.resolver = "maven"
build ":tomcat:7.0.40.1"
compile ":scaffolding:1.0.0"
compile "net.sf.ehcache:ehcache-core:2.4.6"
但是通过grailsrun应用程序
我得到了以下结果:
| Loading Grails 2.3.0
| Configuring classpath
| Error Resolve error obtaining dependencies: Could not find artifact net.sf.ehcache:ehcache-core:zip:2.4.6 in grailsCentral (http://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
| Error Resolve error obtaining dependencies: Could not find artifact net.sf.ehcache:ehcache-core:zip:2.4.6 in grailsCentral (http://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
| Error Resolve error obtaining dependencies: Could not find artifact net.sf.ehcache:ehcache-core:zip:2.4.6 in grailsCentral (http://repo.grails.org/grails/plugins) (Use --stacktrace to see the full trace)
| Error Could not find artifact net.sf.ehcache:ehcache-core:zip:2.4.6 in grailsCentral (http://repo.grails.org/grails/plugins)
| Run 'grails dependency-report' for further information.
所以它不能解决Ehcache核心问题。如何解决这个问题?您需要添加
编译“net.sf.ehcache:ehcache core:2.4.6”
作为依赖项而不是插件
dependencies {
compile "net.sf.ehcache:ehcache-core:2.4.6"
}
如果您以后使用hibernate插件,如下所示
plugins {
runtime ":hibernate:3.6.10.1" //or hibernate 4
}
然后您就不需要
ehcache-core
依赖项,因为它已经是hibernate
插件的可传递依赖项。必须阅读。我在存储库中找不到eCache版本2.4.6
在maven central中搜索它:
所以我的依赖变成:
dependencies {
compile 'net.sf.ehcache:ehcache-core:2.6.5'
}
啊,当然,非常感谢。关于hibernate,我不需要它,因为我使用MongoDB,两者(直接?)不能一起工作。如果您使用的是windows操作系统,我很乐意收到您对应用程序性能的反馈,或者您在使用V2.3.0时遇到的任何障碍。当然
fork
会成为瓶颈吗@对不起,我现在在Mac OS X上。除了这个配置更改,我没有遇到任何问题(到目前为止)。然而,我只是一个Groovy和Grails的初学者,我的应用程序只是一个简单的框架,然而。@str当你真的想发生什么事情时,整个世界都会联合起来帮助你实现它——我得到了一台Mac