javaeclipsemavenxtextxtend

Maven builds multi module project succesfully, Eclipse shows errors


Note: this question is similar to this one, but the answers there did not work for me.

I have an odd problem: using Maven in the command line, my build is succesful, but imported in Eclipse it still shows errors. In particular, I'm trying to build the open-source rosetta-dsl project, which is a multi module Maven project containing Xtext and Xtend files.

Running mvn clean install ends with the following result:

[INFO] Reactor Summary for com.regnosys.rosetta.parent 0.0.0.master:
[INFO]
[INFO] com.regnosys.rosetta.parent ........................ SUCCESS [  0.282 s]
[INFO] com.regnosys.rosetta.lib ........................... SUCCESS [ 17.832 s]
[INFO] com.regnosys.rosetta ............................... SUCCESS [02:22 min]
[INFO] com.regnosys.rosetta.target ........................ SUCCESS [  0.114 s]
[INFO] com.regnosys.rosetta.blueprints .................... SUCCESS [  1.168 s]
[INFO] com.regnosys.rosetta.tests ......................... SUCCESS [ 40.176 s]
[INFO] com.regnosys.rosetta.ide ........................... SUCCESS [  3.613 s]
[INFO] com.regnosys.rosetta.ui ............................ SUCCESS [  3.721 s]
[INFO] com.regnosys.rosetta.ui.tests ...................... SUCCESS [ 21.185 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  04:08 min
[INFO] Finished at: 2021-08-06T14:59:53+02:00
[INFO] ------------------------------------------------------------------------

Eclipse shows 40 errors, including:

Bundle 'net.bytebuddy.byte-buddy' cannot be resolved    MANIFEST.MF /com.regnosys.rosetta.lib/META-INF  line 16 Plug-in Problem
Bundle 'org.apache.commons.lang3' cannot be resolved    MANIFEST.MF /com.regnosys.rosetta/META-INF  line 24 Plug-in Problem
Bundle 'org.mockito' cannot be resolved MANIFEST.MF /com.regnosys.rosetta.lib/META-INF  line 15 Plug-in Problem
Bundle 'org.mockito' cannot be resolved MANIFEST.MF /com.regnosys.rosetta.tests/META-INF    line 20 Plug-in Problem
Bundle 'org.objenesis' cannot be resolved   MANIFEST.MF /com.regnosys.rosetta.lib/META-INF  line 17 Plug-in Problem
Bundle org.apache.commons.lang3 cannot be resolved  build.properties    /com.regnosys.rosetta   line 21 Plug-in Problem
org.mockito.Mockito cannot be resolved to a type.   DocReferenceTest.xtend  /com.regnosys.rosetta.tests/src/com/regnosys/rosetta/generator/java/docrefs line: 19 /com.regnosys.rosetta.tests/src/com/regnosys/rosetta/generator/java/docrefs/DocReferenceTest.xtend Xtend Problem
The method mock(Class<Attribute>) is undefined  RosettaExpressionJavaGeneratorTest.xtend    /com.regnosys.rosetta.tests/src/com/regnosys/rosetta/generator/java/qualify line: 282 /com.regnosys.rosetta.tests/src/com/regnosys/rosetta/generator/java/qualify/RosettaExpressionJavaGeneratorTest.xtend  Xtend Problem
The method when(Object) is undefined    RosettaExpressionJavaGeneratorTest.xtend    /com.regnosys.rosetta.tests/src/com/regnosys/rosetta/generator/java/qualify line: 269 /com.regnosys.rosetta.tests/src/com/regnosys/rosetta/generator/java/qualify/RosettaExpressionJavaGeneratorTest.xtend  Xtend Problem

What I have tried:

but the problem persists, and after fruitlessly searching for a solution for the last three days, I'm not sure how to continue.

I don't know how or why this project behaves differently from the one in the linked question, so here are more details:

Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: C:\Users\Thesis\apache-maven-3.8.1\bin\..
Java version: 11.0.2, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-11.0.2
Default locale: nl_NL, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

Any idea how to solve this?


Solution

  • For plugin-development, Eclipse needs to have a target platform configured. You can find a target file in the com.regnosys.rosetta.target project. If you open that file with the target editor you will find a button in the top right that allows you to set the file as active target platform in your eclipse.