tomcat 8上的Grails 3:域类无法自行投射

时间:2017-01-01 11:55:18

标签: java tomcat grails casting tomcat8

我有一个适用于本地的grails 3应用程序。但是,当我创建一个war文件(使用grails wargrails 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"

如果您需要更多代码,请告诉我并进行编辑。

感谢。

0 个答案:

没有答案