OpenConext / Mujina

A mock IDP and SP using the OpenSAML library
Apache License 2.0
367 stars 166 forks source link

Not able to compile project #45

Closed SamuelCamacho closed 6 years ago

SamuelCamacho commented 6 years ago

Hi, I am trying to clone the repository in my local workspace, but I am getting a lot of errors in compilation step, it seems there's a lot of missing methods in several classes, would you mind check them out?

Until now I have just can make it work the previous versions (4.x.x)

I am using Eclipse (STS) and I am trying to import as Java Maven project

Thanks in advance

mikey-t commented 6 years ago

This project uses something called "Lombok", which hides some boilerplate code via annotations, which is probably why your IDE is showing methods as missing (because technically they are missing). If you run the maven CLI commands to compile and run, you'll notice it compiles/runs successfully despite this fact. You can get IDE support for these via a plugin. I don't use eclipse, but there's instructions on the lombok site: https://projectlombok.org/setup/eclipse.

An example of one of the missing methods is in SharedConfiguration.java, where getKeystorePassword() is not defined. It's the @Getter annotation on the class and lombok import that dynamically adds this method at compile time.

chriswhite199 commented 6 years ago

On a similar note for those who find themselves here, the following error is due to using JDK 10 vs 8:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by lombok.javac.apt.LombokProcessor to field com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs
WARNING: Please consider reporting this to the maintainers of lombok.javac.apt.LombokProcessor
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] mujina 6.0.1-SNAPSHOT .............................. SUCCESS [  2.191 s]
[INFO] mujina-common ...................................... FAILURE [  3.771 s]
[INFO] mujina-sp .......................................... SKIPPED
[INFO] mujina-idp 6.0.1-SNAPSHOT .......................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.124 s
[INFO] Finished at: 2018-09-20T15:08:15-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project mujina-common: Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :mujina-common

Using JDK 8 builds as expected. I'm not sure if you want to update the README.md to note a dependency on JDK 8?

oharsta commented 6 years ago

See https://github.com/OpenConext/Mujina#build-mujina