I have maven-compiler-plugin settings below:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
When executing mvn compile
, it reports Unable to find package java.lang in classpath or bootclasspath
. But I do find java.lang
package in /Library/Java/JavaVirtualMachines/jdk1.8/Contents/Home/jre/lib/rt.jar
:
java/lang/Thread$UncaughtExceptionHandler.class
java/lang/ThreadGroup.class
java/lang/Runnable.class
java/lang/Thread.class
java/lang/ref/Finalizer.class
java/lang/ref/PhantomReference.class
java/lang/ref/FinalReference.class
java/lang/ref/WeakReference.class
java/lang/ref/SoftReference.class
java/lang/ref/Reference.class
......
I'm using Oracle JDK 1.8 on OS X 10.11.3. What extra info should I provide? Is the problem from JDK or project's maven setting?
edit:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8/Contents/Home
edit2:
Different from Maven : unable to find java.lang issue on OS X, I'm using Oracle JDK
edit3:
maven version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/Cellar/maven/3.3.9/libexec
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.3", arch: "x86_64", family: "mac"
/Library/Java/JavaVirtualMachines/jdk1.8/Contents/Home
is a soft link to /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
shown in maven version info
<compilerArguments>
is deprecated, but that's not why it's not working. These types of arguments only work if <fork>
is set to true
.
This works for me:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<fork>true</fork>
<compilerArgs>
<arg>-bootclasspath</arg>
<arg>${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar</arg>
</compilerArgs>
</configuration>
</plugin>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With