前言

  • 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

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐