#java #scala #scala-ide #oaw #mwe
#java #scala #scala-ide #oaw #mwe
Вопрос:
Я пытаюсь написать компонент рабочего процесса MWE2, используя язык scala.
Ниже приведен код scala:
package com.ford.modelling.workflow
import org.eclipse.emf.mwe2.runtime.workflow.{IWorkflowComponent, IWorkflowContext}
class SayHello extends IWorkflowComponent {
var message : String = null;
def preInvoke {}
def invoke(ctx : IWorkflowContext) { System.out.println(message) }
def postInvoke {}
}
и ниже приведен код рабочего процесса:
module com.ford.modelling.workflow.SomeWorklow
SayHello {}
Я не могу понять, почему этот рабочий процесс жалуется на ошибку:
'com.ford.modelling.workflow.SayHello' does not have a public default constructor.
Ответ №1:
Я бы предположил, что плагин scala IDE не полностью имитирует протокол Java, например, IType не предоставляет конструктор без аргументов. Возможно, вы захотите спросить об этом у специалистов scale.
Сообщение об ошибке должно исчезнуть, как только вы явно добавите конструктор по умолчанию. Имеет ли это смысл?
Быстрый поиск в Google показал, что, вероятно, нет синтаксиса для конструктора по умолчанию, поэтому я бы предположил, что это проблема с инструментами scala. Возникает ли проблема и во время выполнения?
Комментарии:
1. как я могу добавить конструктор явно? Я не знаю синтаксиса.
2. В списке проблем ничего нет, но это подчеркнуто в редакторе.