在 3.1.2 的 grails 上运行在 2.2.2 中创建的应用程序并收到很多错误。我是圣杯的新手,我对出现的错误感到非常困惑。
ERROR org.grails.orm.hibernate.cfg.HibernateMappingBuilder - ORM Mapping Invalid: Specified config option [permissions] does not exist for class [class.User]!
org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/] - StandardWrapper.Throwable
java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspFactoryImpl
Caused by: java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspFactoryImpl
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_65]
ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/] - Servlet [jsp] in web application [] threw load() exception
java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspFactoryImpl
这些是零碎的,整个错误消息很长
用户.时髦
import org.apache.commons.codec.digest.DigestUtils;
class User {
String username
String password
String permissions
String firstName
String lastName
String email
String department
static hasMany = [updates: Update]
static constraints = {
username (blank:false)
password (blank:false)
firstName (blank:false)
lastName (blank:false)
permissions()
email()
department()
}
String toString() {
username
}
static String hashPassword(String password) {
DigestUtils.shaHex(password)
}
}
您不能在一个版本的 Grails 中创建的应用程序在另一个版本上运行。Grails对使用正确的版本非常不满。要在 3.1.2 上运行该 2.2.3 应用程序,您需要将应用程序升级以使用 3.1.2。请参阅 https://grails.github.io/grails-doc/latest/guide/upgrading.html
ORM 映射无效:指定的配置选项 [权限] 不 存在于类 [类。用户]
这意味着您正在尝试调用不存在的class.User
参数permissions
。
ORM映射解决方案https://github.com/sergiomichels/grails-doc/commit/aad7352f1af3b5c1db91705936d19b546dabb872
致谢她