java - maven build failed:无法在jre或jdk issu中找到Javac编译器

我将JAVA_HOME设置为

C:\Program Files (x86)\Java\jdk1.6.0_18

在我运行maven安装后,我从eclipse获得此消息:

原因:

Unable to locate the Javac Compiler in:

C:\Program Files (x86)\Java\jre6\..\lib\tools.jar

Please ensure you are using JDK 1.4 or above and

not a JRE (the com.sun.tools.javac.Main class is required).

In most cases you can change the location of your Java

installation by setting the JAVA_HOME environment variable.

我确定这是棘手的部分

请确保您使用的是JDK 1.4或   上面和       不是JRE

当我将配置运行到JRE6时,如何将其更改为已安装的JDK 1.6

编辑

我甚至试图修改插件:

org.apache.maven.plugins

maven-compiler-plugin

2.0.2

1.6

1.6

C:\Program Files (x86)\Java\jdk1.6.0_18\bin

我仍然得到同样的错误

也许我忘了说我使用eclipse maven插件..如何在eclipse中从JRE更改为JDK?

30个解决方案

136 votes

您可以尝试更新Eclipse正在使用的JDK,如下所示:

在Window-> Preferences ...-> Java-> Installed JREs中添加和设置JRE:

JRE type: Standard VM JRE

Name: jdk1.6.0_18

JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18

如果不是这种情况,则JAVA_HOME路径中的括号和空格可能会导致问题。 尝试将JDK复制到其他位置并更新JAVA_HOME。

lucrussell answered 2019-07-08T19:51:03Z

19 votes

eclipse.ini需要vm参数指向你的jdk位置。

编辑eclipse.ini文件以指向您的jdk home,如下所示 -

-vm

C:\Program Files\Java\jdk1.6.0_06

这可以确保Eclipse运行JDK而不是计算机上的任何默认JRE。

Sai Hegde answered 2019-07-08T19:51:41Z

12 votes

你试试:

转到C:\Program Files\Java\jre6\..\lib\tools.jar并为位置C:\Program Files\Java\jdk1.6.0_27\jre添加一个或类似的东西。

删除C:\Program Files\Java\jre6\..\lib\tools.jar的那个

如您所见,路径C:\Program Files\Java\jre6\..\lib\tools.jar仅在第一部分(直到/ ..)替换为C:\Program Files\Java\jdk1.6.0_27\jre时才有意义。

cuocdoibian1971 answered 2019-07-08T19:52:25Z

9 votes

将Fork设置为true可以解决我的问题。

true

1.6

1.6

非常感谢,Sam Yang ......你结识了我的一天

Prash answered 2019-07-08T19:52:56Z

8 votes

我有同样的问题! 一直在搜索和搜索天,因为所有关于"的喋喋不休地放了-vm c:\ program files \ java \ jdkxxxxx \ bin" 在ini ar作为一个shortcurt的论据并不是所有heklp! (我听起来很沮丧吗?相信我,这是轻描淡写!我只是因为我失去了一周试图让Maven变得可靠而感到愤怒!)

我的行为非常不可预测。 有时它编译,有时不编译。 如果我做了maven clean,它找不到编译器并且失败了。 如果我然后在构建路径中更改了某些内容,它会突然再次运行!!

直到我去窗口 - > 偏好 - > java - > 安装了JRE' s。 我使用JDK的位置添加了一个新的JRE,然后删除了JRE。 突然,maven跑稳了!

也许这值得在apache手册中放入字体大小为30左右的字母?尽管如此,这对java社区来说简直太过分了! 我无法想象所有这些人失去了多少天,试图解决他们的问题! 我无法想象这是作为最终版本发布的。 我本人甚至不敢以BETA软件的名义发布这样的东西......

亲切的问候两种方式....经过一周的篡改后,我终于可以开始发展了。 我希望我的老板不会发现这一点。 我花了很多力气说服他不要去.NET,我已经为此感到遗憾。

Lorenzo answered 2019-07-08T19:53:49Z

3 votes

我使用Run as - >我遇到了同样的问题。 Maven在Eclipse中安装。 JAVA_HOME和eclipse.ini都没关系,指向我最新的JDK。 但是m2clipse使用了JRE。 在Eclipse之外使用mvn install工作得很好!在我的情况下,我解决了以下问题:1.在Eclipse中导航:窗口 - > 偏好 - > Java - > 已安装的JRE2. JRE和JDK有两个非活动条目。 活动的是最新安装的JDK。 删除所有条目,但一个maven应该使用。

我认为maven不会考虑哪一个是活跃的......

Markus answered 2019-07-08T19:54:22Z

3 votes

我刚刚安装了maven 3.0.4,设置了mvn,%JAVA_HOME%和C:\java\jdk1.6。 然后我运行了以下命令:

mvn

mvn

我收到了失败的消息,如:mvn。

在我的计算机上,我在c:\ program files \ java \ jre.1.6上安装了默认的jre。我将另一个c:\ java \ jdk1.6和mvn设置为此c:\ java \ jdk1.6。

我的设置没有任何问题。 搜索之后,我决定查看mvn,我每一步都回显%JAVA_HOME%并且它正确显示为C:\java\jdk1.6但是当我运行命令:mvn --version时,它显示Java home:c:\ program files \ java \ jre1.1.6。

最后,我发现我只需要在下面的命令中设置mvn,并且现在正常工作:

mvn

希望这可以帮助。

注意:这是针对命令行上的mvn而不是Eclipse。

smngo answered 2019-07-08T19:55:34Z

2 votes

听起来Maven使用的是JRE,而不是JDK。 也许您在安装JDK之前安装了Maven?

检查设置文件。 总共有3个,系统,用户和项目。 它最有可能出现在安装配置($ M2_HOME / conf / settings.xml)或者可能是每用户配置($ {user.dir} / .m2 / settings.xml)中。

Devon_C_Miller answered 2019-07-08T19:56:06Z

2 votes

基于[http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html],您必须在pom.xml中将fork设置为true。

Sam Yang answered 2019-07-08T19:56:31Z

2 votes

我通过将Installed JRE的位置更改为JDK本身中的目录来解决了这个问题。 设置适当的C:\Program Files\Java\jdk1.7.0_03\jre7环境变量值并没有解决问题。

就我而言,有两个目录

C:\Program Files\Java\jdk1.7.0_03\jre7

C:\Program Files\Java\jdk1.7.0_03\jre7

最初我在242中将C:\Program Files\Java\jdk1.7.0_03\jre7设置为已安装的JRE,并且在Maven的情况下我得到了相同的错误(Ant工作正常)。

通过在Eclipse中将已安装的JRE更改为C:\Program Files\Java\jdk1.7.0_03\jre7作为已安装的JRE,问题得以解决。

Nikhil answered 2019-07-08T19:57:25Z

2 votes

仅限Eclipse设置

执行以下步骤:

右键单击Eclipse项目属性

Java构建路径 - >图书馆

选择JRE系统库 - > 单击编辑按钮

点击"已安装的JRE ..."按键

将JRE编辑为:设置JRE Home = JAVA_HOME或JAVA_HOME \ jre

截图:

非常感谢,

帕塔

Parthasarathy B answered 2019-07-08T19:58:44Z

1 votes

右键单击Project - > 属性 - > Java构建路径。 选择JRE系统路径 - > 编辑。 选择Workspace Default JRE,并将其指向JDK>1.4

asHIS answered 2019-07-08T19:59:10Z

1 votes

Window -> Preferences -> Java -> installed JREs -> Execution Enviroments -> click the checkbox on the right side

Gambotic answered 2019-07-08T19:59:35Z

1 votes

解决方案很简单,有时候是日食窗口 - > 偏好 - > java - > 已安装的JRE指向C:\Program files\Java\jre,当我将其更改为C:\Program files\Java\JDK 6.0\jre时,它正在100%工作。

santhosh answered 2019-07-08T20:00:01Z

1 votes

正如其他几个人所提到的,Eclipse Maven -> Update project...应该指向您安装的JDK,而不是JRE。 只有这样它才能找到错误消息中提到的../lib文件夹。

即使这样,问题也可能再次发生。 我在Eclipse(Juno)的出路是做一个Maven -> Update project...,之后问题就消失了。

我怀疑原因是一些Eclipse生成的文件(.classpath,.project,.preferences)在我的项目中进行了颠覆,我遇到了这些问题。 因此,svn更新引入了这个问题,Eclipse中maven的配置更新再次解决了这个问题。

真正的解决方案:从版本控制中省略Eclipse生成的.files,让maven eclipse插件处理项目配置。 (欢迎提供其他指示/建议)。

avandeursen answered 2019-07-08T20:00:49Z

1 votes

不要忘记,如果从特定的Eclipse配置运行项目,则应该在“运行配置”中更改Java运行时。 - > '你的maven配置' - > 在将正确的JDK添加到Eclipse首选项之后的“JRE”选项卡。

Ivan Fernandez answered 2019-07-08T20:01:15Z

1 votes

在我的情况下,在eclipse Run-> Debug Configurations在选择的jre选项卡中,jdk而不是jre解决了问题。

Vathsala Weerasinghe answered 2019-07-08T20:01:42Z

1 votes

我在Amazon Linux上遇到了同样的问题。 原来我必须安装jdk的devel版本:

sudo yum -y install java-1.7.0-openjdk-devel

Evan Siroky answered 2019-07-08T20:02:15Z

1 votes

转到Eclipse窗口 - >首选项...-> Java->已安装的JRE应指向您安装的JDK,而不是JRE。

Sudipto answered 2019-07-08T20:02:42Z

0 votes

我猜想编译器的位置是在pom中定义的,因为编译器插件位于显示的jre位置,而不是你有JAVA_HOME指向的jdk位置。

Robin answered 2019-07-08T20:03:08Z

0 votes

如果您设置了JAVA_HOME,问题仍然存在,请尝试以下操作。(我在新安装的电脑上遇到了同样的问题。)

假设您正在使用Eclipse。

打开窗口 - 首选项 - java - 安装jre' s删除你所有的,添加你想要使用的(JDK,没有JRE!)

在同一个窗口中打开maven - 安装,添加你下载并在某处提取的mave安装。 (不要使用嵌入式maven安装,它有一些已知的错误)

就这样。 你的项目不会受到荷兰问题的影响。希望有所帮助

Marcell answered 2019-07-08T20:04:02Z

0 votes

您还可以确保Eclipse具有所有更新的更改。 要执行此操作,请右键单击您的项目,然后按"刷新" 菜单项。

GregNash answered 2019-07-08T20:04:29Z

0 votes

你需要在mvn.ini(它在maven文件夹/bin中)中注明JAVA_HOME,你的问题就会消失。

Javicha answered 2019-07-08T20:04:56Z

0 votes

许多其他答案告诉您将Eclipse指向JDK而不是JRE。

这是另一个更具体/更清楚的答案[比我在这里的任何答案中看到的]如何做到这一步一步一步:你如何安装JDK?

这就是解决我同样问题的原因。

cellepo answered 2019-07-08T20:05:37Z

0 votes

我有同样的错误,因为JUNIT版本,我有3       3.8.1我已经改为4.8.1。

所以解决方案是

你必须去POM,并确保你的依赖看起来像这样

junit

junit

4.8.1

test

Ibo answered 2019-07-08T20:06:03Z

0 votes

我更改了maven-compiler-plugin的配置,以添加值为true的可执行文件和fork。

true

1.6

1.6

C:\Program Files\Java\jdk1.6.0_18\bin\javac

它对我有用。

Soumyajit Swain answered 2019-07-08T20:06:31Z

0 votes

确保" - " 在你的eclipse.ini中有两行,即:

-vm

C:\Program Files\Java\jdk1.6.0_06

Kevin Van Dyck answered 2019-07-08T20:06:58Z

0 votes

做JRE

然后Window -> preferences - java - installed jre's

JRE路径应该相同....然后去Window -> preferences - java - installed jre's

位置应与Java_Home显示的位置相同。

vandana answered 2019-07-08T20:07:46Z

0 votes

转到属性右键单击项目。

在LINKED RESOURCES中添加一个名为JAVA_HOME的新路径并放置您的jdk位置,类似于" C:\ Program Files \ Java \ jdk1.8.0_73"

就这样!!

Macu Gómez answered 2019-07-08T20:08:22Z

0 votes

解决这个问题非常简单....

如果您没有ANT构建文件,则生成它。 在eclipse中,您可以轻松创建ANT文件。

请参阅创建ANT构建文件的链接[[http://www.codejava.net/ides/eclipse/how-to-create-ant-build-file-for-existing-java-project-in-eclipse]。]

现在按照给定的步骤操作:

1)在ANT视图中添加ANT构建文件,该视图位于视图窗口中。

2)右键单击您的ANT构建文件并选择Run As,然后选择第二个选项" Ant Build"。

3)现在将打开一个对话框,其中包含各种选项和选项卡。

4)选择JRE选项卡。

5)您将看到3个单选按钮,他们将选择JRE或JDK作为选项。

6)仔细查看单选按钮选项是否选择了JRE,然后将其更改为JDK。

7)单击“应用”。

那就是...... !!!

Nishat Lakhani answered 2019-07-08T20:10:04Z

java build failed_java - maven build failed:无法在jre或jdk issu中找到Javac编译器相关推荐

  1. Java error 62_java – Maven build和maven-failsafe-plugin – 分叉的VM在没有正确说再见的情况下终止...

    我使用Docker和 https://github.com/fabric8io/docker-maven-plugin进行集成测试. 在我的Windows 10(更新到Windows 10 1709之 ...

  2. 由于更换了java版本,Eclipse启动时报错:JRE or JDK must be available in order to run Eclipse

    1.更新java版本后启动Eclipse报错 2.打开eclipse安装路径下的eclipse.ini文件,将以前的jvm启动路径更换为新的路径 3.我这里新路径为D:\Java\jdk1.8.0_2 ...

  3. 【JAVA】Java概述(1、Java语言发展史;2、Java语言跨平台原理;3、JRE和JDK;4、JDK的下载与安装)

    Java概述 重新学习Java第一篇 文章目录 Java概述 1.JAVA语言发展史 1.1Java语言 1.2Java语言发展史 2.Java语言跨平台原理 2.1平台 2.2跨平台 2.3跨平台原 ...

  4. maven插件打包exec_Exec Maven插件–从Maven Build运行Java程序

    maven插件打包exec Maven exec plugin allows us to execute system and Java programs from the maven command ...

  5. 如何修复无效的目标版本:Maven Build中的1.7、1.8、1.9或1.10错误

    如果您正在使用Maven构建Java项目,可能是在Eclipse中,或者是通过运行mvn install在命令提示符下构建的,并且构建失败并显示诸如"无效的目标发行版:1.7"或& ...

  6. OpenShift 4 Tekton (4) - 使用Workspaces为包含Maven Build的Pipeline提速

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.8环境中验证 文章目录 需求场景 什么是Workspaces 使用Workspace 在Maven ...

  7. maven build 配置

    maven build 配置 为了统一管理版本号,可以使用properties标签,里面可以自定义版本的标签名.在使用的地方使用${自定义标签名} build配置 <build><! ...

  8. eclipse中的maven build 、maven clean 、 maven install作用

    eclipse中的maven build .maven clean . maven install作用 转载于:https://www.cnblogs.com/ZeGod/p/10483605.htm ...

  9. eclipse中的maven build、maven clean、maven install和maven test的区别

    eclipse中的maven build.maven clean.maven install和maven test的区别 https://www.cnblogs.com/Marydon20170307 ...

最新文章

  1. LeetCode:14. Longest Common Prefix
  2. $get服务器上的json文件,Web前端:$.getJSON获取json数据失败
  3. 一款可留言的恋爱计时HTML源码
  4. 使用devops的团队_DevOps与兼职社区团队兼容吗?
  5. leetcode力扣23.括号生成
  6. 看到一些有点深度的分析,转做留存
  7. 如何导出导入自定义的zendstudio配置文件
  8. idea查看java类方法_用IntelliJ IDEA看Java类图的方法(图文)
  9. python计算无穷级数求和_[探求无穷级数求和的几种常用方法]无穷级数求和常用公式...
  10. iptables 分析
  11. 计算机管理将c盘分区,win10怎么给c盘再分区_win10如何再分区c盘-win7之家
  12. n次独立重复试验暨伯努利试验
  13. 微信ipad协议简述
  14. 陈洁kiki宠粉节狂欢夜观看破千万!四年磨一剑将宠粉做到极致
  15. [附源码]Python计算机毕业设计Django大学生考勤管理系统论文
  16. 伤感qq日志-爱冷了 情淡了、心累了,陌生了
  17. [error]:无法打开要写入的文件 XXX。您可能没有写入权限。
  18. 【人工智能】大模型的发展历史
  19. 英国《金融时报》| 国际象棋组织宣布通过Algorand进行“混合IPO”计划(Hybrid IPO)
  20. date获取时间某年某月一共有多少天以及格式化天数,月份,年

热门文章

  1. OA系统定制化,企业办公管理需求的新趋势
  2. 用 Delphi 学设计模式 之 简单工厂篇- -
  3. HTML 简单实现注册页面
  4. Reflex WMS入门系列二十五:将叉车纳入系统进行管理
  5. 固网打印服务器型号对应,固网打印服务器兼容列表(2014.7.21更新).xls
  6. mysql 赋予用户权限 grant all privileges on
  7. 关于Wechat 的充值
  8. mysql闪_为什么mysql一闪而过的原因
  9. 创新与赛道定义 ——产品定义和建立赛道是个技术活
  10. Python数据分析之数据抓取 part 1