如何只使用JRE而不需要JDK就能编译和运行Java程序?

3

我在我的计算机上安装了JRE并下载了Eclipse IDE,开始使用该IDE工作。

我从一些博客中读到,没有JDK就无法编译Java程序,但是我可以在Eclipse IDE中运行程序/应用程序。

然后,在其他一些博客中给了我信息,说Eclipse将拥有自己的JDK,因此尝试在命令提示符中运行以获取信息。当我尝试通过命令提示符在bin文件夹(C:\ Program Files \ Java \ jre7 \ bin)中编译程序时,它会说javac无法识别。我认为这是由于缺少已编译的类文件而导致的,因为未安装JDK,因此我已将带有类文件的项目从Eclipse IDE复制并尝试运行程序,结果它说找不到或加载主类文件名.java。

即使我已将Java_home环境变量设置为JRE bin路径。

请简要解释一下JDK和JRE的区别。


你是从哪个目录运行这个命令的?你具体运行了哪个命令?看起来你可能是从错误的目录运行了命令或者设置了错误的类路径。请提供更多信息。 - Turing85
可能是什么是JDK和JRE之间的区别?的重复问题。 - ganeshvjy
1
Eclipse for Java有自己的Java编译器,不需要JDK中的javac。请参阅https://dev59.com/2nA75IYBdhLWcg3w3NHf。 - dave_thompson_085
正如我上面提到的,我已经从bin目录运行了该程序。 - Saran
@dave_thompson_085,你应该把那个变成一个答案,这样Saran就可以接受它了。 - CrazyPyro
3个回答

5

我现在明白了这个概念。

即使没有安装JDK,应用程序也可以在eclipse中运行,因为eclipse在我的计算机上安装了自己的编译器和JRE。

从Eclipse IDE复制带有类文件的项目会出现错误,如“找不到或加载主类filename.java”,因为运行时环境找不到类文件,因为Javac编译器和Eclipse编译器类不同,因此内容也会不同。因此,Java解释器找不到eclipse编译器类的类文件(与序列化概念相似)。


3

没有JDK,无法编译您的Java代码。Java编译器javac和其他Java开发相关的二进制文件仅在JDK中可用,而不在JRE中。

要了解JRE和JDK之间的区别,请参考这里


是的,这是正确的。没有JDK编译器程序就无法编译,但即使将所有类文件粘贴到目录中,JRE也无法运行。我能知道原因吗? - Saran
@Saran 为什么要手动复制粘贴类文件?最好卸载 JRE 并安装 JDK,它包含 JRE。 - AnkeyNigam

0

JDK(Java开发工具包)允许使用`java`和`javac`等命令。JDK是开发和运行Java小程序和应用的必备工具。

JRE用于运行Java程序,运行任何Java程序都需要它。

这可能会有所帮助:https://dev59.com/ynI-5IYBdhLWcg3wVWzv#29160633


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接