前言
- centos 7.6
- jdk 1.8
- maven 3.6.3
报错 Fatal Error: Unable to find package java.lang in classpath or bootclasspath
在本地使用打包命令(mvn clean package -Dmaven.test.skip=true
)可以成功。
在centos 7.6中同样的命令报错Fatal Error: Unable to find package java.lang in classpath or bootclasspath
网上查找该问题,发现修改bootclasspath
导致。
因为在windows和linux下,需要使用不同的分隔符。windows使用分号(;
),linux使用冒号(:
)。
修改
错误的:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<verbose/>
<bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
正确的:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<verbose/>
<bootclasspath>${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
- 使用${path.separator}代替了分号
参考
https://blog.csdn.net/csdn565973850/article/details/101286678
https://blog.csdn.net/qq_30038111/article/details/106281811