Mac解决Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:X.X.X:compile问题

今天在用maven编译和打包新项目的时候出现了一个问题:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile

详细报错如下:

[INFO] 
[INFO] -----------------------< mystery:mystery-usual >------------------------
[INFO] Building mystery-usual 1.0.1-SNAPSHOT                             [7/11]
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] The artifact org.apache.commons:commons-io:jar:1.3.2 has been relocated to commons-io:commons-io:jar:1.3.2
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mystery-usual ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ mystery-usual ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 114 source files to /Volumes/D/xx7x_workspace/mystery-master/mystery-usual/target/classes
致命错误: 在类路径或引导类路径中找不到程序包 java.lang
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] An unknown compilation problem occurred
[INFO] 1 error
[INFO] -------------------------------------------------------------

部分配置如下:

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.0</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>
		</plugins>
	</build>

经过各种百度谷歌得到的结果无非就是说什么把 ; 改成 : 说是因为Linux/Unix与Windows分隔符不一致造成的,可是我照着改了之后也是没用的,于是我检查了maven的runner配置和Java compiler中关于JDK版本的配置,也是无效的。具体配置如下:

Java complier

maven runner配置:

 

后来我偶然间看到在把鼠标悬浮在 ${java.home}上的时候显示出了jre的路径信息,如下:

 发现Java.home路径中路径的分隔符都是使用的 / 并且在访达中使用 command+shift+G快捷键中输入 \ 是没有效果的,无法跳转路径,于是想到会不会是Java.home后面的路径出了问题导致的,于是在把 \ 改成 / 后也是没有用的,后面考虑到可能是Java对于 /  转义的缘故,于是把单斜杠(/)改成了双斜杠(//),之后在进行编译打包,正常。

附上修改后的配置:

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.0</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<compilerArguments>
						<!--Mac请使用下面这一行-->
						<bootclasspath>${java.home}//lib//rt.jar:${java.home}//lib//jce.jar</bootclasspath>
						<!--windows系统请使用下面这一行-->
<!--						<bootclasspath>${java.home}\lib\rt.jar;${java.home}\lib\jce.jar</bootclasspath>-->
					</compilerArguments>
				</configuration>
			</plugin>
		</plugins>
	</build>

附上打包成功的截图:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值