我有一个适用于本地的grails 3应用程序。但是,当我创建一个war文件(使用grails war
或grails package
)并在tomcat 8(8.5.5)上部署时。我有一个错误。
Class org.springframework.core.convert.ConverterNotFoundException
Message : converter found capable of converting from type [Player] to type [Player]
这个错误对我没有意义。但是当它执行这种代码时抛出了这个异常:
def players = Player.all
players.sort(new Comparator() {
@Override
int compare(o1, o2) {
int p1followers = User.findAllByPlayer(o1).size()
int p2followers = User.findAllByPlayer(o2).size()
return p1followers > p2followers ? 1 : p1followers == p2followers ? 0 : -1
}
})
每次我尝试"演员"播放器播放器......与用户相同,......
如果我这样做:
List users = User.all
for(User u : users){}
我有一个例外:"用户无法投射到用户"。
这里是User和Player域类(我删除了一些部分)
class User {
static mapping = {
table "users"
/* ... */
}
/*...*/
static hasMany = [players : Player]
static constraints = {
/* ... */
}
}`
class Player {
static mapping = {
table "players"
version:false
/*...*/
}
/*...*/
static constraints = {
}
}
当我在intelijIDEA中运行grails应用程序时,此代码有效,但在tomcat 8上使用war文件进行部署时则无效。
在我的build.graddle中,我把它放在提供的地方:
//compile "org.springframework.boot:spring-boot-starter-tomcat"
provided "org.springframework.boot:spring-boot-starter-tomcat"
如果您需要更多代码,请告诉我并进行编辑。
感谢。