最近初步接触了linux,感觉很有新鲜感。之前在windows下干过的事情也便想到在linux环境下实现一下。正好手头在编java,就想既然java可以在windows的DOS操作下运行,是不是也可以在linux的terminal下编译执行呢?好奇心是最好的老师,网上丰富的资源帮助我很快的实现了这一操作。具体实现过程如下:


  • 安装JDK

要编译执行java代码,首先需要有支持java的系统程序,所谓的jdk,java development kit就是干这个用的。无论是在windows还是Linux下,要编译和执行java代码,jdk都是必备的。(关于jdk和jre的区别,详见博文:)。jdk对编程人员屏蔽了两种系统的不同,使java可以实现“一次编写到处编译”。JDK包,可以从官网进行下载,根据不同的系统下载不同的安装包。安装的方法,也根据Linux的版本不同也略有不同,我使用的是RedHat Linux(RHEL 6)系统,下载相应的.rpm 文件,像安装其他软件一样进行安装即可:

rpm -ivh  jdk_8u25.rpm

使用其他系统,如Ubuntu可下载.tar.gz压缩包进行安装,网上资料很多,这里不进行赘述。


  • 生成JAR文件

装好了jdk我们就可以将代码从windows下拷到linux下了。这里我们不直接将.java代码复制到目的目录下,而是先生成jar包,再进行转移。

这里我们使用Eclipse实现这一操作。(Eclipse和JDK是什么关系?详见博文:)在eclipse下把项目源码导出成jar包,可以选中项目右键->export->jar 。生成所需的1.jar,再准备好额外的一些jar包,如常用的lucene、mysql-connecor的一些jar包(也可将这些包打成一个包),将这些包一起复制到linux的同一目录下(或上传到linux服务器)。
   除此之外,还要把java代码的主类文件(含有main函数,如main.java)也复制到同一目录下

  • 编译执行
   执行。先要执行javac,生成.class文件。格式如下:

 javac -cp /home/username/../.jar:/home.username/../.jar:/home.username/../.jar main.java

这样java程序就运行了。

Linux下运行java项目的更多相关文章

  1. Linux下运行Java项目时,出现No X11 DISPLAY variable was set, but this program performed an operation which requires it.的问题解决

    在~/.bashrc环境变量文件最下方加入: export DISPLAY=:0.0 然后,刷新环境变量以使其生效: source -/.bashrc 参考:http://stackoverflow. ...

  2. linux系统下运行java项目的脚本编写

    本文主要讲linux系统下运行jar包,至于如何打包jar包,放到linux系统下可以参考其他的博客. 在linux系统下运行jar包的命令如下: 1.java -jar xxxxx.jar  //  ...

  3. 在linux下运行java工程

    在linux 服务器上运行JAVA工程需注意.1: 在linux 上: /etc/profile  设置classpath 配置正确的jar 路径.2:  把本地JAVA工程做成一个jar包.如:1. ...

  4. 【linux】linux下运行java程序

    参考了http://www.cnblogs.com/howard-queen/archive/2012/01/30/2331795.html 第一步:用vim先写一个java程序  first.jav ...

  5. linux环境运行java项目并有外部引用jar

    eclipse目录结构: linux目录结构: lib目录结构: 其中除了IMT_ENCODING_DSP.jar其余的都是外部引用的jar IMT_ENCODING_DSP.jar是java项目打包 ...

  6. Linux下运行crm项目

    虚拟环境运行crm项目 1.进入虚拟环境 2.解决crm项目运行所需的依赖环境 1.手动解决 pip3 install django==1.11.14 pip3 install pymysql pip ...

  7. 03 Linux下运行Django项目

    1.安装windows和linux传输文件的工具 pip install lrzsz 提供两个命令 一个是上传一个是下载 rz 接收 直接rz sz 上传 直接sz 或者直接拖拽 2.在线下载资源的命 ...

  8. Linux下运行java报错:Error: Could not find or load main class SocketIOPropertites

    [root@node01 testfileio]# javac SocketIOPropertites.java && java Soc ketIOPropertitesError: ...

  9. Linux下部署Java项目(jetty作为容器)常用脚本命令

    startup.sh #!/bin/bash echo $(basename $(pwd)) "jetty started" cd jetty nohup java -Xmx8g ...

随机推荐

  1. srping mvc学习

    HOME 控制器 package ghy.webapp.myapp; import java.text.DateFormat; import java.util.Date; import java.u ...

  2. libubox组件(3)——uloop

    一:uloop概述 uloop有三个功能: 文件描述符触发事件的监控,  timeout定时器处理, 当前进程的子进程的维护 二: uloop的整体框架 1: /** 2: * 初始化事件循环 3: ...

  3. lamp环境编译安装curl扩展

    Linux编译安装php扩展包curl 1.curl,主要用于发送http请求,是php的一个扩展包. 2.安装过程: (1)curl下载:http://curl.haxx.se/download.h ...

  4. error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

    解决编译php扩展xsl时出现 error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution ...

  5. Help Hanzo lightof 1197 求一段区间内素数个数,[l,r] 在 [1,1e9] 范围内。r-l<=1e5; 采用和平常筛素数的方法。平移区间即可。

    /** 题目:Help Hanzo lightof 1197 链接:https://vjudge.net/contest/154246#problem/M 题意:求一段区间内素数个数,[l,r] 在 ...

  6. 第一百九十九节,jQuery EasyUI,Panel(面板)组件

    jQuery EasyUI,Panel(面板)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Panel(面板)组件的使用方法,这个组件不依赖于其 ...

  7. poj 3686(拆点+最小权匹配)

    题目链接:http://poj.org/problem?id=3686 思路:显然工件为X集,机器为Y集合.由于每个机器一次只能加工一个部件,因此我们可以将一台机器拆成N个点,至于部件与机器之间连多大 ...

  8. PYTHON MYSQL 的表创建和插入

    import mysql.connector cnx = mysql.connector.connect(user='xx',password='xx++.',host='139.107.11.166 ...

  9. 3、ACE-实用生活口语---讲打电话Talking on the phone

    (3)需要留口信吗?请让他给我回电话Would you like to leave a message?May I take a message for you ?Please tell him to ...

  10. CodeForces 213 E

    /* 线段树 + hash: 首先我们可以知道A序列是1~n的排列,那么我们可以先在B序列中把1~n的排列找出来,看其相对位置是否与A相同(hash可做),相同即表明存在一个d满足条件. 以此类推,我 ...