2015-10-15 2 views
1

Первые два файла - это «SmsController.groovy» и «applicationContext.xml», которые, как я думаю, вызывают ошибки.Ошибки Grails при подключении к sms-плагину

'SmsController.groovy':

package nexmo 

import grails.plugin.nexmo.NexmoException 

class SmsControllerController { 

// Inject the service 
def nexmoService 
def smsResult 

def index() { 

    try { 
     // Send the message "What's up?" to 1-500-123-4567 

     smsResult = nexmoService.sendSms("61451062006", "What's up?") 
    } 

     catch (NexmoException e) { 
      // Handle error if failure 
     } 
    } 
} 

'applicationContext.xml':

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 

<bean id="grailsApplication" class="org.codehaus.groovy.grails.commons.GrailsApplicationFactoryBean"> 
    <description>Grails application factory bean</description> 
    <property name="grailsDescriptor" value="/WEB-INF/grails.xml" /> 
</bean> 

<bean id="pluginManager" class="org.codehaus.groovy.grails.plugins.GrailsPluginManagerFactoryBean"> 
    <description>A bean that manages Grails plugins</description> 
    <property name="grailsDescriptor" value="/WEB-INF/grails.xml" /> 
    <property name="application" ref="grailsApplication" /> 
</bean> 

<bean id="grailsConfigurator" class="org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator"> 
    <constructor-arg> 
     <ref bean="grailsApplication" /> 
    </constructor-arg> 
    <property name="pluginManager" ref="pluginManager" /> 
</bean> 

<bean id="characterEncodingFilter" class="org.springframework.web.filter.CharacterEncodingFilter"> 
    <property name="encoding"> 
     <value>utf-8</value> 
    </property> 
</bean> 

<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean" /> 

Ниже приведены ошибки я получаю после копирования файлы из новых приложений. (ApplicationContext.xml, sitemesh.xml & некоторые .TLD файлы):.

context.ContextLoader Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; ne 
sted exception is org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: nexmo.SmsController 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: nexmo.SmsController 
    ... 4 more 
Caused by: java.lang.ClassNotFoundException: nexmo.SmsController 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    ... 4 more 
context.GrailsContextLoaderListener Error initializing the application: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init me 
thod failed; nested exception is org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: nexmo.SmsController 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; ne 
sted exception is org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: nexmo.SmsController 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: Class not found loading Grails application: nexmo.SmsController 
    ... 4 more 
Caused by: java.lang.ClassNotFoundException: nexmo.SmsController 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    ... 4 more 
| Error Forked Grails VM exited with error 

ответ

1

Это, вероятно, из-за несоответствия между пакетом и директории файл находится в случае, если контроллер находится в grails-app/controllers/nexmo/SmsController.groovy, вам нужен соответствующий пакетный запрос:

package nexmo 

class SmsController { 
    ... 
} 
+0

Спасибо. Я решил проблему. –

+0

Я смог перейти на «http: // localhost: 8080/nexmo». Однако он отображается так: HTTP Status 404 - «/WEB-INF/grails-app/views/index.gsp» не найден. –

+0

Это похоже на лук, каждый слой, который вы очищаете, раскрывается ниже. Существует ли «grails-app/views/index.gsp»? Если нет, создайте его. Как и раньше, вы можете получить файл по умолчанию, созданный для новых приложений, создав новое приложение с той же версией Grails и скопировав его оттуда. Я предполагаю, что у вас будут такие проблемы, как это, потому что похоже, что многие важные файлы были удалены. Вероятно, вы должны создать новое приложение и скопировать код и файлы, связанные с Nexmo, вместо того, чтобы фиксировать все эти искусственные проблемы по одному за раз. –

 Смежные вопросы

  • Нет связанных вопросов^_^