如果我只安装了JRE,我可以开发Java程序吗?

时间:2014-07-15 06:14:00

标签: java

我的系统上安装了JRE 1.7。由于一些管理员问题,我的系统上没有JDK。有什么办法可以用JRE开发Java程序吗?

10 个答案:

答案 0 :(得分:10)

不,你不能只用JRE开发java程序

您需要JDK来编译程序。JRE仅提供运行时环境,但JDK是编译代码以使其可由{{1}执行时所需的代码您需要JRE来编译javac中存在的代码。

enter image description here

但是,为了解决您所拥有的管理员权限问题,您可以下载并安装 eclipse ,它有自己的内置编译器。

答案 1 :(得分:2)

你需要编译它们才能开发,这就是你需要jdk

的原因

答案 2 :(得分:2)

您需要一些编译源代码的程序,但不一定必须是JDK。

例如,您可以下载只需要JRE的Eclipse,它有自己的编译器(内置),您可以使用它进行开发。 Eclipse不需要任何管理员权限,它是一个zip文件,您可以下载并解压缩。

答案 3 :(得分:1)

您无法开发任何Java应用程序,因为您需要JDK(Java Development Kit)来编译代码。 JRE(Java Runtime Environment)仅提供运行时环境。您可以在JRE

中运行已编译的代码

答案 4 :(得分:1)

答案是“是的,但是......”

java源代码执行过程分为两步:

1)将源代码编译成字节码,从而生成.class文件

2)将.class文件中的VM特定指令解释为本机指令

.java ---- javac ----> .class ---- java ----> native code

不用说“javac”,java源代码的编译器不属于JRE!

所以为了开发没有JDK的java程序,你必须跳过第一步并继续使用“java”工具,从而直接处理字节码!

在某种程度上,如果您熟悉JVM内部,可以使用十六进制或文本编辑器编写一些字节代码行,然后运行.class文件;但是你不会更进一步。它涉及创建复杂的应用程序,因为这需要超人的能力:这是一项非常艰巨的任务。

然而,今天的java框架几乎都使用直接字节码操作和 asm 框架或 javassit

等工具

javassist不需要JDK,你可以从头开始生成一个类,然后编译/运行它

  

java -classpath。:javassist-x.x.jar test“some arguments”

(无需编译类)

但同样,这只是限制使用,为了开发java应用程序,你必须使用一些JDK ... 最后,你必须努力获得对你机器中运行的内容的完全控制;最近的框架是资源贪婪的,需要大量的资源(磁盘空间,内存......)和许多工具和framworks需要完全控制,我意思是管理员权利:例如我记得有一次borland delphi拒绝开始,我必须给它完全访问权限才能开始......

答案 5 :(得分:1)

需要JDK将java文件编译为类文件。 JRE将执行生成的类文件并提供输出。 如果您的m / c中存在管理问题,那么您可以在其他m / c中安装JDK并将类文件带入系统并执行它们。

答案 6 :(得分:0)

Eclipse包含自己的编译器,并不依赖于JDK编译器。但实际上,JRE只是运行时环境,并不包含编译器或其他开发工具。

答案 7 :(得分:0)

你需要这个来做你的工作吗?如果这是你的工作,你应该有权访问,或者他们应该安装它。如果您没有访问权限,因为这不是您的工作,我建议您在家中安装JDK(或者可以随身携带的笔记本电脑)

  

由于某些管理问题,我的系统上没有JDK。

将其安装在您的主目录或您可以写入的其他目录中。如果您有足够的磁盘空间,您的管理员无法阻止您安装JDK。

答案 8 :(得分:0)

我请求您解析管理员权限。另外,我有两种选择。

1)没有Java Development Kit,你就无法做任何事情。Hope this diagram makes why its not possible

2)您可以安装IDE来编写Java代码,使您在当前情况下的工作更简单。使用Eclipse或NetBeans。无论如何,我会向你推荐Eclipse。您可以从此链接https://www.eclipse.org/downloads/

下载eclipse

尝试从此http://www.oracle.com/technetwork/java/javase/overview/index-jsp-138218.html下载JDK。

希望这会对你有所帮助。

答案 9 :(得分:0)

JRE不仅能满足您的需要,而无需编译所需的Jdk代码,而Jdk具有编译器来编译代码。