[ERROR] 致命错误: 在类路径或引导类路径中找不到程序包 java.lang
maven编译时报错的原因是因为引入了下面这项配置
-
<plugin>
-
<groupId>org.apache.maven.plugins
</groupId>
-
<artifactId>maven-compiler-plugin
</artifactId>
-
<version>3.3
</version>
-
<configuration>
-
<source>1.7
</source>
-
<target>1.7
</target>
-
<encoding>UTF-8
</encoding>
-
<!-- 解决maven命令编译报错,因为rt.jar 和jce.jar在jre的lib下面,不在jdk的lib下面,
-
导致maven找不到(java7以后会出现这个问题),将这2个jar包拷贝到jdk的lib下面估计也好使-->
-
<compilerArguments>
-
<bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar
</bootclasspath>
-
</compilerArguments>
-
</configuration>
-
</plugin>
解决办法,使用maven自带的变量${path.separator}路径分隔符,原因是在Windows下是分号;,在linux下是冒号:
-
<plugin>
-
<groupId>org.apache.maven.plugins</groupId>
-
<artifactId>maven-compiler-plugin</artifactId>
-
<configuration>
-
<source>
1.7</source>
-
<target>
1.7</target>
-
<encoding>UTF-
8</encoding>
-
<!--<fork>
true</fork>-->
-
<!-- 解决maven命令编译报错,因为rt.jar 和jce.jar在jre的lib下面,不在jdk的lib下面,
-
导致maven找不到(java7以后会出现这个问题),将这
2个jar包拷贝到jdk的lib下面估计也好使-->
-
<compilerArguments>
-
<verbose/>
-
<bootclasspath>${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar</bootclasspath>
-
</compilerArguments>
-
</configuration>
-
</plugin>