我有以下 maven-compiler-plugin 设置:
<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>
执行mvn compile
时,报Unable to find package java.lang in classpath or bootclasspath
。但我确实在 /Library/Java/JavaVirtualMachines/jdk1.8/Contents/Home/jre/lib/rt.jar
中找到了 java.lang
包:
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
......
我在 OS X 10.11.3 上使用 Oracle JDK 1.8。我应该提供什么额外信息?是JDK的问题还是项目的maven设置的问题?
编辑:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8/Contents/Home
编辑2:
不同于Maven : unable to find java.lang issue on OS X ,我正在使用 Oracle JDK
编辑3:
maven 版本
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
是一个软链接(soft link)到/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
显示在 maven 版本信息中
最佳答案
<compilerArguments>
已弃用,但这不是它不起作用的原因。这些类型的参数仅在 <fork>
时有效设置为 true
.
这对我有用:
<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>
关于java - mvn 编译 : Unable to find package java. lang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35715543/