Ланг модули в Rascal Shell

Есть некоторый код, который использует модули от lang, все отлично работает в консоли Rascal в Eclipse, но когда я пытаюсь импортировать его (import lang::java::jdt::m3::Core;) в rascal-shell.jar выдает ошибку об отсутствующем пути поиска.

rascal>import lang::java::jdt::m3::Core;
|prompt:///|(0,33,<1,0>,<1,33>): Could not import module lang::java::jdt::m3::Core: can not find in search path
Advice: |http://tutor.rascal-mpl.org/Errors/Static/ModuleImport/ModuleImport.html|

Попытка собрать мою собственную оболочку для подражателей с помощью инструкций @github, но не повезло, есть ли способ добавить модули m3 в путь поиска и затем построить оболочку для подделок?

Спасибо!

1 ответ

Имя модуля для извлечения модулей M3 из Java отличается в оболочке командной строки и в VScode из Eclipse. Причина в том, что контекст Eclipse предлагает более автоматические способы разрешения пути к классам.

Чтобы добиться того же в VScode или в командной строке, используйте это:

      rascal>import lang::java::m3::Core;
ok
rascal>mx = createM3FromMavenProject(|project://vallang|);
M3: m3(
  |project://vallang|,
  annotations={
    <|java+method:///io/usethesource/vallang/type/SetType/Info/fromSymbol(io.usethesource.vallang.IConstructor,io.usethesource.vallang.type.Type...

Обратите внимание, что это для последних выпусков VScode (0.5.0) и rascal-shell (0.25.x).

Другие вопросы по тегам