Я разработал это небольшое приложение и без проблем запускаю его на Jetty ...
Bug.groovy:
package itsafeature
class Bug {
String name
String description
Priority priority
Project project
static belongsTo = Project
static constraints = {
name(size:10..150)
description(size:25..1500)
project(nullable:false)
priority(nullable:false)
}
String toString() {
return "${priority}:${name}"
}
}
enum Priority {HIGH(5), MEDIUM(3),LOW(1)
private Priority(int val){
value = val
}
private final int value
int value() {
value
}
}
Когда я использую Netbeans для развертывания непосредственно на Grails JettyСервер, это работает точно так, как вы ожидаете.Приоритет записывается в мою базу данных в виде строки, и он делает то, что я хочу.
Однако, если я беру проект и выполняю «сборку», он создает «производственную» сборку приложения (мойфайл источника данных одинаков для всех сборок), и я помещаю его в папку «webapps» локального сервера Tomcat, и я вижу следующую трассировку стека:
SEVERE: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
... SNIP! ...
Caused by: java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
Caused by: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: Priority(java.lang.String, java.lang.Integer)
at Priority.<clinit>(Priority.groovy:10)
... 2 more
Что я должен посмотреть, чтобы сузитьвниз по этому вопросу?У меня есть только один Groovy, установленный на Windows, на что указывает GROOVY_HOME, то же самое с GRAILS.У Jetty есть своя собственная версия этих сред выполнения?Или это действительно проблема сервера приложений?
Есть команда grails, которая говорит "tomcat", не уверенная, имеет ли это какое-либо отношение к этому, но я не использую ее