2015-05-12 3 views
0

При выполнении приложения в CloudHub возникли следующие ошибки для следующих скриптов в потоке Mule. Когда я запускаю его на студии Anypoint, проблем нет.Groovy не удалось разрешить класс в CloudHub

Я проверил развернутый файл архива приложения, а в папке классов - скомпилированный класс company.cloudtools.util.Utilities. Я не уверен, почему сервер CloudHub не может найти файл класса, определенный этой ошибкой.

Ошибка:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: 
Script16.groovy: 1: unable to resolve class company.cloudtools.util.Utilities 
@ line 1, column 1. 
    import company.cloudtools.util.Utilities 
^

1 error 

    at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:302) 
    at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:858) 
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:548) 
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:497) 
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306) 
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287) 
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:267) 
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:214) 
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngin 

сценария в потоке Mule:

<scripting:transformer doc:name="parse record type"> 
        <scripting:script engine="Groovy"><![CDATA[import company.cloudtools.util.Utilities 
     import com.netsuite.webservices.platform.core.types.RecordType 
     import org.mule.module.netsuite.RecordTypeEnum 

     // flowVars[ns_record_type] is used for the "get-record" operation 
     flowVars["ns_record_type"] = Utilities.findRecordType(payload["ns_record_type"], Arrays.asList(RecordType.values()), 0) 
     // flowVars[ns_record_type_enum] is used for the "update record" operation? 
     flowVars["ns_record_type_enum"] = Utilities.findRecordTypeEnum(payload["ns_record_type"], Arrays.asList(RecordTypeEnum.values()), 0) 

     return payload]]></scripting:script> 
       </scripting:transformer> 

Утилиты Класс:

package company.cloudtools.util; 

import com.netsuite.webservices.platform.core.types.RecordType; 
import org.mule.module.netsuite.RecordTypeEnum; 
import java.util.*; 

public class Utilities { 

    //initial call... findRecordType("downloaditem", RecordType.values(), 0) 
    public static RecordType findRecordType(String bad_name, List<RecordType> available_enums, Integer current_character) {} 

    //initial call... findRecordTypeEnum("downloaditem", RecordTypeEnum.values(), 0) 
    public static RecordTypeEnum findRecordTypeEnum(String bad_name, List<RecordTypeEnum> available_enums, Integer current_character) {} 
} 
+0

Это случается редко. Просто очистит проект несколько раз и переустановит в canhub. Какова версия мула. – star

+0

Я использую EE 3.5.0 – EdC

ответ

0

Вопрос заключается в том, что CloudHub поддерживает только JRE 1.6 для версии Mule I я использую Mule 3.5.0. Работники Mule, которые выше 3.5.1, используют поддерживаемую в настоящее время JRE 1.7. Если бы изменилось мое приложение JRE, чтобы заставить его работать.

Как более поздняя задача, я узнаю, как заставить ее работать с JRE 1.7 (возможно, придется обновить среду выполнения до 3.5.1 или выше).

См/Поиск и устранение неисправностей в разделе Техническое на Mulesoft - http://www.mulesoft.org/documentation/display/current/FAQ

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