2017-06-06 11 views
5

मैं Maven 3.5.0 और JDK उपयोग कर रहा हूँ 9 निर्माण 171. जब मैं अपने प्रोजेक्ट को संकलित करने की कोशिश की मैं एक अपवाद है:Maven 3.5 मुद्दा

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project admin: Fatal error compiling: ja-va.lang.NoClassDefFoundError: com/sun/tools/javac/file/BaseFileObject: com.sun.tools.javac.file.BaseFileObject 

मैं MAVEN_OPTS के लिए, लेकिन बिना सुझाव झंडे जोड़ा सफलता:

--add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED 

कोई सुझाव?

+2

com.sun.tools अब सार्वजनिक नहीं है मॉड्यूल सिस्टम देखें ... – khmarbaise

+0

क्या '- परमिट-अवैध-पहुंच' या इसके हाल ही में जोड़े गए संस्करण '--illegal-access = चेतावनी' यहां मदद करते हैं? – nullpointer

+0

क्या आप डीबग जांच के लिए '-X' विकल्प के साथ 'mvn' चला सकते हैं, उन मॉड्यूल का संस्करण क्या है, जिनका उपयोग एमवीएन कंपाइलर प्लगइन द्वारा किया जाता है:' org.codehaus.plexus: plexus-compiler-api', 'संगठन .codehaus.plexus: प्लेक्सस-कंपाइलर-प्रबंधक', 'org.codehaus.plexus: प्लेक्सस-कंपाइलर-जावैक: जार'। संस्करण 2.8.1 होना चाहिए। –

उत्तर

4

मेरी परियोजना को लंबोक पुस्तकालय पर निर्भरता थी। संस्करण 1.16.18 को pom.xml निर्माण अपडेट करने की अनुमति चेतावनी के साथ पूरा करने के लिए:

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 
1

संस्करण 3.6.1 में Maven संकलक प्लगइन उपयुक्त नहीं है। आपको कम से कम 3.6.2 संस्करण का उपयोग करना चाहिए।