我是Unix和C ++的老手,但不是RPM或Java。我必须编写一个Java程序。如果我运行Hello World,可以通过互联网找到自己的路,但是如何运行Java Hello World?
我确实扎根在一台机器上,但是对这台机器的出处知之甚少。使用SuSE 11.4,就像在猫/etc/*-release
上看到的那样。
答案 0 :(得分:2)
目前,您似乎需要Java 1.8。您需要开发工具包“ JDK”而不是运行时环境“ JRE”。
如果有,您会在此处看到jdk1.8
blahblah 。您可能以为他们会将Java放在包名称中,是的,他们曾经使用过。但是没有更多了,因此对java
进行grep'ing只会找到旧版本。
rpm -qa |grep jdk
jdk1.8-1.8.0_191-fcs.x86_64
java-1_6_0-openjdk-plugin-1.6.0.0_b20.1.9.7-1.2.1.x86_64
java-1_6_0-openjdk-1.6.0.0_b20.1.9.7-1.2.1.x86_64
如果没有,java.com并不是答案-他们似乎只有JRE。他们的搜索工具未通过“ JDK”或“下载JDK 8”返回前十个结果中所需的链接。但是Google会在第一时间找到它,目前为https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
获取64位的x64版本,32位的x86版本。
Firefox具有RPM的内置安装程序。如果您安装它,将出现一个名为下载的对话框(仅提供信息;关闭);否则,您将看到一个对话框。安装摘要(单击完成)。系统将提示您输入root密码,我觉得这很不方便。 或者,您可以将RPM文件保存在任何位置,然后以root身份运行(替换您的文件名)
rpm -ivh wherever/jre-8u191-linux-x64.rpm
运行时,它将输出(其中包括)程序包名称。对于其他rpm命令,请使用此程序包名称,而不是文件名。 (如果尝试使用rpm -q filename
或rpm -e filename
,它会告诉您未安装文件名,如果rpm -ivh
似乎只是告诉您它是已安装!)
现在它在哪里安装了所需的工具?
> rpm -ql jdk1.8-1.8.0_191-fcs.x86_64 | grep 'bin/java$'
/usr/java/jdk1.8.0_191-amd64/bin/java
/usr/java/jdk1.8.0_191-amd64/jre/bin/java
如果在那里看到它们,则可以删除RPM文件。
好的,它在/usr/java/jdk1.8.0_191-amd64中。将/usr/java/jdk1.8.0_191-amd64/bin添加到.cshrc中的PATH或您拥有的文件中,然后重新获取它。
> java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
> javac -version
javac 1.8.0_191
太好了,我们看到了1.8!
Java将源代码保存在.java文件中,每个类一个文件。这些由编译器读取,编译器在.class文件中输出字节码。这样就可以运行了。
将其放入名为HelloWorld.java
的文件中:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
在该目录中,键入以下内容。他们应该成功而无需进一步的输出。
> javac HelloWorld.java
> java HelloWorld
然后您应该会看到Hello, World
输出。
以上可能需要使用-cp .
或-cp ./
选项。
关于引导学习曲线:
Method( Thing thing )
就像在C ++中调用Method( Thing* pthing )
一样。 Method()
对thing
/ pthing
的更改本身不会影响呼叫者,但thing.field
/ pthing->field
的更改是全局的。