linux如何运行java程序,Linux环境下运行简单java程序

一、安装java

1、下载jdk8

选择对应jdk版本下载。(Tips:可在Windows下载完成后,通过FTP或者SSH到发送到Linux上)

2、 登录Linux,切换到root用户

su root 获取root用户权限,当前工作目录不变(需要root密码)

或者

sudo -i 不需要root密码直接切换成root(需要当前用户密码)

3、在usr目录下建立java安装目录

cd /usr

mkdir java

4、将jdk-8u60-linux-x64.tar.gz拷贝到java目录下

cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/

5、解压jdk到当前目录,得到文件夹 jdk1.8.0_*  (注意:下载不同版本的JDK目录名不同!)

tar -zxvf jdk-8u60-linux-x64.tar.gz

6、安装完毕为他建立一个链接以节省目录长度

ln -s /usr/java/jdk1.8.0_60/ /usr/jdk

7、编辑配置文件,配置环境变量

vim /etc/profile

在文本的末尾添加如下内容:

JAVA_HOME=/usr/jdk

CLASSPATH=$JAVA_HOME/lib/

PATH=$PATH:$JAVA_HOME/bin

export PATH JAVA_HOME CLASSPATH

8、重启机器或执行命令 :source /etc/profile

sudo shutdown -r now

9、查看安装情况

java -version

java version "1.8.0_60"

Java(TM) SE Runtime Environment (build 1.8.0_60-b27)

Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)

ps:可能出现的错误信息:

bash: ./java: cannot execute binary file

出现这个错误的原因可能是在32位的操作系统上安装了64位的jdk,

1、查看jdk版本和Linux版本位数是否一致。

2、查看你安装的Ubuntu是32位还是64位系统:

二、查看java安装路径

首先要申明一下which java是定位不到安装路径的。which java定位到的是java程序的执行路径。网上的资料都是人云亦云,完全不去思考。那么怎么定位到java的安装路径呢。

1、确认安装成功

其实如果没有建立软连接,这样倒是可以直接搜到安装路径。

4bbe2c36f3300882e93eca550f2642d0.png

通过上面指令搜索到java的版本,可以确定安装成功。

2、搜索路径

1b2018335517b89e01acb40156d6a083.png

然后运用which java 搜索路径,最后查看是否有软连接。

最后找到java安装路径。

三、创建程序并测试

1、建立测目录

mkdir -p java_program/hello

2.写一段简单的java程序

进入java_program/hello目录,使用vi建立一个.java文件(vi在文件名存在的时候可以修改文件,在文件名不存在的时候可以创建文件):

9d71eccf65426efebdf3ede7219ddef3.png

写一段很简单的代码,就是打印出"Hello"这几个字符而已:

64b1969760e8fe6633b21a357a0ef012.png

注意箭头所指,编辑文本完毕必须wq保存,此文件才会被创建。

3、编译Hello.java

使用javac Hello.java来编译我们写好的java代码,如果写得有问题,下面会有编译错误的提示信息出来的;如果写得没有问题,那么就编译成功,编译成功之后的目录为:

9068a427b02f89423f77d44abc02eef3.png

看到存在Hello.class和Hello.java两个文件。

4、执行Hello.class

既然Hello.class都已经编译成功了,那么最后自然就是执行这个文件了,使用java Hello就可以了:

735d76f81b2f596a0f9831cd9e430618.png

打印出字符串"Hello",成功

这个问题困扰我很久,问题关键是CLASSPATH设置问题,一般在设置CLASSPATH时,一般是

6a658f16f209153bdab454517de9e899.png

如果所示,在CALSSPATH中没有添加.: 这个设置,则无法在其他路径下运行 java Hello了。此时只能到java/bin/lib运行了,就是设置的lib路径。

找不到或无法加载主类就是无法找到classpath路径了。拷到lib下即找到了。

linux 环境下运行STS时 出现must be available in order to run STS

linux 环境下运行ECLIPSE时 出现 “ A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avai ...

在桌面Linux环境下开发图形界面程序的方案对比

在Linux下开发GUI程序的方法有很多,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的 ...

phoenixframe自己主动化平台在Linux环境下运行用例的说明

phoenixframe自己主动化平台支持在Linux环境下使用phantomjs,Firefox.chrome运行測试用例.但有下面几个问题须要注意: 1.若无法启动phantomjs,Firefo ...

eclipse 运行简单JAVA程序事例

开发JAVA已经有一段时间了,不过要运行JAVA程序,还是在命令行敲命令,很不方便,很麻烦,突然想到eclipse应该也有这个功能,于是百度了一下,将步骤晒出来,供大家参考. 1.创建JAVA工程 单 ...

linux环境下vim创建java文件,并编译运行

一.前提 安装Java 二.创建工作目录并编辑java文件 三.编译 四.运行

用jdk在cmd下运行编译java程序

1.首先通过创建一个txt文档,将java代码写入txt文档中保存 2.将保存好的HelloWorld.txt文档重命名为HelloWorld.java文件. 3.打开windows中的"命 ...

在 Linux 环境下报错 java.lang.reflect.InvocationTargetException

今天开发了一个 excel 导出数据的功能,放到 linux 服务器上后发现报错. 捕获到 java.lang.reflect.InvocationTargetException 异常,这个异常不太常 ...

在linux环境下搭建JDK+JAVA+Mysql,并完成jforum的安装

参考链接: YUM安装MySQL和JDK和Tomcat:http://cmdschool.blog.51cto.com/2420395/1696206/ http://www.cnblogs.com/ ...

随机推荐

将excel数据读入matlab

1.[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,假设所有的数据都在example.xls中. 2.NUM返回的是excel中的数据,TXT输 ...

51Nod 1380 夹克老爷的逢三抽一

Description 一开始有一个环,可以选择删除一个元素获得他的权值,同时删除与它相邻的两个元素,其他元素重新形成环,问能获得的最大价值. Sol 堆+贪心. 一开始从堆中加入所有元素,然后取出一 ...

[poj2184]我是来水一下背包的

http://poj.org/problem?id=2184 题意:01背包的变种,就是说有2组值(有负的),你要取一些物品是2阻值的和非负且最大 分析: 1.对于负的很好处理,可以把他们都加上一个数 ...

mysql一个表中多个字段对应另一个表的id如何查询?

比如有如下2个表 a 和baaID b1ID b2ID b3ID1 1 3 52 2 4 6bbID bCon1 苹果2 香蕉3 国内4 国外5 出口6 进口其中a表中的b1ID,b2ID,b3ID都 ...

Docker: repository, image, container

1. 查看image: docker images 2. 查看信息: docker info 3. 搜索image: docker search [image_name], 比如: docker se ...

Expanded encryption and decryption signature algorithm SM2 & SM3

Expanded encryption and decryption signature algorithm supports multiple signature digest algorithms ...

python——描述符

本文主要介绍描述符的定义,个人的一些理解:什么是数据描述符:什么是非数据描述符:描述符的检测等.希望看完这篇文章后,你对描述符有了更清晰的认识.知道怎么判断一个对象是不是描述符,知道如果定义一个描述符 ...

akka cluster 初体验

cluster 配置 akka { actor { provider = "akka.cluster.ClusterActorRefProvider" } remote { log ...

Python 7步机器学习

http://python.jobbole.com/84108/ 由于我们要使用机器学习和科学计算的 packages ,这里建议安装  Anaconda.Anaconda 是一个可在 Linux , ...

bzoj 1899 贪心+dp

思路:这个贪心排顺序我居然没看出来. 吃饭时间长的在前面, 用反证法很容易得出. 剩下的就是瞎dp啦. #include #define LL long lo ...

  • 6
    点赞
  • 41
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值