Модель Maven + MWE2Launcher + XText ссылается на не скомпилированный класс Java - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть вопрос о XText / Maven.У меня есть проект XText / Maven / Java.

В этом проекте лежат модели Xtext и исходные файлы Java.Некоторые из файлов моделей ссылаются на некоторые файлы Java.EG:

Модель:

package a.b.c

import java.util.List
import x.y.z.MyClass // <-- This is one of the Javafile in the same Project

dto MyModel
{
    MyClass myClass
}

Java:

package x.y.z;

public class MyClass
{
   String foo;
   String bar;
}

Структура:

project
|
|----src/main
      |
      |---/java/x/y/z/MyClass.java
      |
      |---/model/a/b/c/MyModel.dto
      |
      |---/gen/a/b/c/MyModel.java <-- here goes the generated Javafile from the Model

Мне уже удалось написать Xtext /Плагин Eclipse, поэтому сборка Eclipse генерирует мои файлы моделей и прекрасно компилирует файлы Java.

Но теперь я пытаюсь построить проект с помощью Maven.Я управляю уже выполнившим процесс Generate через рабочий процесс mwe2 с использованием класса

org.eclipse.emf.mwe2.launch.runtime.MWE2Launcher

и других Modelfiles, которые генерируются просто отлично, но MyModel ссылается на класс Java, который еще не скомпилирован, и поэтому он не найден:

[ERROR] Execution Failed: Problems running workflow my.company.model.xtext.domainmodel.generator: Validation problems:
[ERROR] 49 errors:
[ERROR] MyModel.dto - <path>/model/a/b/c/MyModel.dto
[ERROR] 4: x.y.z.MyClass cannot be resolved to a type.
...

Так что сама ошибка понятна.Я попытался с успехом предварительно скомпилировать файл Java и добавить их в Classpath.Но у меня есть дюжина этих проблем, и я надеюсь, что это лучший способ сообщить Xtext / Mwe2Launcher, что он должен ссылаться на требуемые файлы Java.Потому что каким-то волшебным образом это уже работает в Eclipse, но я понятия не имею, как.

...