一、安装java

1、下载jdk8

  登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  选择对应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、确认安装成功

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

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

2、搜索路径

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

最后找到java安装路径。

三、创建程序并测试

1、建立测目录

mkdir -p java_program/hello

2.写一段简单的java程序

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

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

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

3、编译Hello.java

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

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

4、执行Hello.class

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

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

四、找不到或无法加载主类

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

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

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

Linux环境下运行简单java程序的更多相关文章

  1. 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 ...

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

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

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

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

  4. linux环境下运行程序格式错误的问题,bash: ./helloworld: cannot execute binary file: Exec format error

    在编译完quecOpen的example helloworld之后,我运行此程序,结果报错,详情如下: ricks@ubuntu:~/share/project/ql-ol-sdk/ql-ol-ext ...

  5. eclipse 运行简单JAVA程序事例

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

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

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

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

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

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

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

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

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

随机推荐

  1. docker系统学习之docker界面管理

    docker可视化界面 dockerUI已废弃,转投Portainer项目 Portainer,轻量级管理界面,基本满足中小单位需求 官方Github https://github.com/porta ...

  2. Java的面向对象(初涉)

    Java的面向对象(初涉) 面向对象的分析根据抽象关键的问题域来分解系统.面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成"现实世界&qu ...

  3. python绘图工具matplotlib在linux下安装和使用

    工具介绍:matplotlib 是Python编程语言的一个绘图库及其数值数学扩展 NumPy.它为利用通用的图形用户界面工具包, 如Tkinter, wxPython, Qt或GTK+向应用程序嵌入 ...

  4. .NET手记-Autofac进阶(传递注册参数 Passing Parameters to Register)

    当你注册组件时,可以为组件服务传入一系列参数,用于服务解析时使用. 可使用的参数类型 Available Parameter Types Autofac提供了集中参数匹配类别: NamedParame ...

  5. RawConfigParser 与 ConfigParser ——Python的配件文件读取模块

    一般情况都是使用ConfigParser这个方法,但是当我们配置中有%(filename)s这种格式的配置的时候,可能会出现以下问题: configparser.InterpolationMissin ...

  6. 使用FluentMigrator进行数据库迁移

    介绍 在开发的过程中,经常会遇到数据库结构变动(表新增.删除,表列新增.修改.删除等).开发环境.测试环境.正式环境都要记性同步:如果你使用EF有自动迁移的功能,还是挺方便的.如果非EF我们需要手工处 ...

  7. python中selenium操作下拉滚动条方法汇总

    UI自动化中经常会遇到元素识别不到,找不到的问题,原因有很多,比如不在iframe里,xpath或id写错了等等:但有一种是在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 比如下面这样一个网页 ...

  8. Ubuntu/CentOS 系统上安装与配置Nginx

    一.在线安装: Ubuntu:sudo apt-get install nginx CentOS: sudo yum install nginx 二.安装后的位置: 1.服务地址:/etc/init. ...

  9. EIGRP路由协议的简单理解及应用

    1.EIGRP 增强型内部网关路由协议 他是动态路由协议,是思科私有的路由协议(2013年已经公有化) 特点:   1)路由更新:闪速更新:触发式更新:路由增量更新 2)协议更新采用组播地址来维持EI ...

  10. Oracle的数据并发与一致性详解(上)

    今天想了解下oracle中事务与锁的原理,但百度了半天,发现网上介绍的内容要么太短,要么版本太旧,而且抄袭现象严重,所以干脆查官方帮助文档(oracle 11.2),并将其精华整理成中文,供大家一起学 ...