记一次Eclipse关于JDK和JRE的问题

今天同事遇到个问题,发现import package居然报错,但是那个package实际上存在。一般情况某个类有问题或者是该类中的方法有问题,总会在IDE中显示一条红线。但是这次确实是没有问题。我找到该类所在的子模块,使用mvn install。这个错误我之前遇到过,光update project是没有用的,update project主要作用是同步。比如,我在父工程中加入其他第三方插件依赖,有些地方需要它,有的时候,明明已经导入该依赖,可是我却不能用它。这时,只需update project即可。根据整个项目的大小,需要的时间是不同的,如果项目过大,update project的时间可能会过长。

贴贴关于mvn install的错误:

关键信息就是:No compile is provider in this environment.Perhaps you are running on a JRE rather then a JDK

翻译过来的意思是:

在此环境中没有编译器提供程序。也许您运行的是JRE而不是JDK

很多篇博客只讲如何解决,不讲是什么原因。

当然了,开发经验多年的小伙伴们一眼就看出了。直接就知道怎么解决。

在此我要说说JDK和JRE的区别,虽然这个也是老生常谈,但是这回我要结合这个错误,谈点不一样的。

JDK和JRE有如下区别:

相同点:

都可以运行JAVA程序,JDK中包含JRE,JRE本身就是Java运行环境。

不同点:

JDK全称为"JAVA 开发工具包",JRE全称为"JAVA运行环境":

JRE是java runtime environment(java运行环境)的缩写。光有JVM还不能让class文件执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,

里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm合lib合起来就称为jre。所以,当你写完java程序,也就.java文件时,当其编译成.class文件后,你可以 把这个.class文件和jre发给朋友,这样你的朋友就可以运行你写的程序了(jre中有运行.class的java.exe)。

JDK:JDK是java development kit(java开发工具包)的缩写。每个做java开发的人都会先在机器上装一个JDK,那 让我们看一下JDK的安装目录。在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM。

JRE和JDK比较可以得出一个结论,就是jdk不需要jre就可以跑起来,因为它包含jre,而jre不需要jdk也能运行,因为其有运行.class的java.exe。这个也是java面试基础常考的题目之一。

关于JAVA编译原理可以参考我的这篇博客:说说Javac

小结:

任何时候都要牢记一个准则,“夯实基础”。荀子说:"不积跬步无以至千里“。不论是生活还是学习都是这么个理。

希望这篇博文,能给大家带来启发和帮助。

原文地址:https://www.cnblogs.com/youcong/p/9709057.html

时间: 2024-10-26 13:35:33

记一次Eclipse关于JDK和JRE的问题的相关文章

JDK与JRE及其在Eclipse中的使用

转载自:http://blog.csdn.net/gx1058742912/article/details/51033942 JDK与jRE的区别 JDK(java development kit):java 开发工具,包括一系列java命令,如javac(java compiler) 等:同时jdk包含jre,因为jdk其实是面向java开发人员的,开 发完之后还要进行调试运行等,这就需要jre了: JRE(java runtime environment):java 运行时环境,java文件

Ubuntu里Eclipse关联Jdk

Ubuntu里Eclipse关联Jdk 1.在Eclipse安装目录创建jre 文件. 2.ln  -s  jdk目录/bin  bin 输入上述命令,之后eclipse即可打开.

jdk、jre与jvm的区别与联系

为了学习数据库,重装了系统,之前前一直在用eclipse,现在准备换成myeclipse,这之前当然需要重新设置环境变量,顺手写下有关jdk.jre与jvm的区别与联系以供交流参考. 首先来说一下JDK JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK). JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API )

Eclipse安装Maven后JRE警告

问题现象: Eclipse按装maven插件之后,每次启动Eclipse都会弹出: Eclipse is running in a JRE, but a JDK is required Some Maven plugins may not work when importing projects or updating source folders. 问题原因: 从提示信息上看,就是说Eclipse是运行在JRE环境中,但Maven插件需要JDK环境. 根本原因是eclipse没有使用JAVA_

Eclipse对jdk的要求

1.Eclipse 4.6 (Neon)---需要JDK1.8版本,官网解释如下 ---------------------------------------------------------------------------------------- Eclipse 4.6 (Neon)isscheduled for release on June 22, 2016. A Java 8 JRE/JDK is required to run all Neon packages based

jdk与jre的区别 【转】

jdk与jre的区别: 很多程序员已经干了一段时间java了依然不明白jdk与jre的区别.JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境.SDK是Software Development Kit 一般指软件开发包,可以包括函数库.编译程序等.JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者.如果安装了JDK,会发同你的电脑有两套JRE,一套位

jdk与jre

JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境. SDK是Software Development Kit 一般指软件开发包,可以包括函数库.编译程序等. JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者. 如果安装了JDK,会发同你的电脑有两套JRE,一套位于 \jre 另外一套位于 C:\Program Files\Java\jre1.5.

JDK 与 JRE (转)

很多程序员已经干了一段时间java了依然不明白jdk与jre的区别.JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境.SDK是Software Development Kit 一般指软件开发包,可以包括函数库.编译程序等.JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者.如果安装了JDK,会发同你的电脑有两套JRE,一套位于 \jre 另外一套位

java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)

首先声明,这篇文章是从网上粘贴过来的.原文地址是:http://www.cnblogs.com/wangaohui/archive/2012/11/28/2791999.html.感觉写的很好,所以粘贴过来记录下. 这些日子,在看一些java的东西,由于刚入手,对java不是很了解,结果对java的一些名词没有一个清晰的脉络,现在稍微整理一下 令我纠结的是jdk,sdk,jre,jvm,ide,adt,跨平台性,j2ee,j2se,这些名词弄的我云里雾里的. 首先,什么是SDK呢? Softwa