我正在尝试从Github跟随Graeme Rocher的例子:
https://gist.github.com/graemerocher/c25ec929d9bcd1adcbea
@Grab("org.grails:grails-datastore-gorm-hibernate4:3.0.0.RELEASE")
@Grab("org.grails:grails-spring:2.3.6")
@Grab("com.h2database:h2:1.3.164")
import grails.orm.bootstrap.*
import grails.persistence.*
import org.springframework.jdbc.datasource.DriverManagerDataSource
import org.h2.Driver
init = new HibernateDatastoreSpringInitializer(Person)
def dataSource = new DriverManagerDataSource(Driver.name, "jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE", 'sa', '')
init.configureForDataSource(dataSource)
new Person(name: "Fred Flintstone").save(flush: true, failOnError: true)
println "Total people = ${Person.count()}"
@Entity
class Person {
String name
static constraints = {
name blank:false
}
}
我正在
java.lang.RuntimeException:抓取Grapes时遇到错误 - [下载失败:> com.googlecode.concurrentlinkedhashmap#concurrentlinklinkhashmap-> lru; 1.3.1!concurrentlinkedhashmap-lru.jar,下载失败:> javax.transaction #jta; 1.1!jta.jar,下载失败:org.jboss.logging#jboss-> logging; 3.1.3.GA!jboss-logging.jar,下载失败:org.javassist#javassist; 3.18.1-&gt ;!GA javassist.jar(束)]
我认为这意味着某些依赖关系已经改变/消失。
此代码是否有当前正在运行的版本?
答案 0 :(得分:2)
我已经尝试过使用带有各种URL的@GrabResolver()(应该说道歉)。
我尝试了杰夫贝克的答案,但无济于事。
我通过设置几个调试标志来查看发生了什么(-Dgroovy.grape.report.downloads = true -Divy.message.logger.level = 4),我经历了一段调试周期。
最终我必须创建一个自定义的〜/ .groovy / grapeConfig.xml(根据http://groovy.codehaus.org/Grape#Grape-CustomizeIvysettings)并添加了Jeff作为进一步的“ibiblio”提供的mavencentral URL。条目。
然后一切都很好。
不知道为什么@GrabResolver()没有解决,但这是一种解决方法。
答案 1 :(得分:1)
我得到以下工作正常:
@GrabResolver(name='mvncentral', root='http://central.maven.org/maven2/')
@Grab("org.grails:grails-datastore-gorm-hibernate4:3.1.1.RELEASE")
@Grab("org.grails:grails-spring:2.4.3")
@Grab("com.h2database:h2:1.3.164")
import grails.orm.bootstrap.*
import grails.persistence.*
import org.springframework.jdbc.datasource.DriverManagerDataSource
import org.h2.Driver
init = new HibernateDatastoreSpringInitializer(Person)
def dataSource = new DriverManagerDataSource(Driver.name, "jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE", 'sa', '')
init.configureForDataSource(dataSource)
println "Total people = " + Person.count()
@Entity
class Person {
String name
static constraints = {
name blank:false
}
}
我在最新版本的groovy中的默认jcenter中添加了一个不同的解析器。此外,您可能需要清除尝试下载的缓存版本。这是blog post about that。