最近初步接触了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. iOS开发常见错误(转)

    //大全 //读取数据库数据 -(void)movethesqlitefile{ NSString *sourcepath=[[NSBundle mainBundle]pathForResource: ...

  2. springboot解决第三方依赖jar包的问题

    公司现在用的是springboot+maven,想要把一些老的项目都改成这种框架.但是一些老的项目中有好多第三方的jar包或者是自己的jar包,maven库上没有.最初的解决方案是一个个的deploy ...

  3. D. Powerful array 离线+莫队算法 给定n个数,m次查询;每次查询[l,r]的权值; 权值计算方法:区间某个数x的个数cnt,那么贡献为cnt*cnt*x; 所有贡献和即为该区间的值;

    D. Powerful array time limit per test seconds memory limit per test megabytes input standard input o ...

  4. Crontab使用方式

    Liunx系统的定时任务需要Crontab来完成 一.添加 添加定时脚本 crontab -e 或者直接编辑/etc/crontab文件进行任务添加 vim /etc/crontab 二.格式 三.举 ...

  5. php 图片上传 文件上传 大小 限制

    nginx  413 Request Entity Too Large Php无法上传文件 查看php脚本运行用户,写个php脚本 <?php echo shell_exec("id ...

  6. PHP中插件机制的一种实现方案

    这篇文章的出发点是我对插件机制的理解,及其在PHP中的实现.此方案仅是插件机制在PHP中的实现方案之一,写下来和大家分享,欢迎大家一起讨论. 插件,亦即Plug-in,是指一类特定的功能模块(通常由第 ...

  7. python 自动化之路 day 19 Django基础[二]

    Django - 路由系统 url.py - 视图函数 views.py - 数据库操作 models.py - 模板引擎渲染 - HttpReponse(字符串) - render(request, ...

  8. 关于 SQLNET.AUTHENTICATION_SERVICES 验证方式的说明

    今天去客户那里巡检,客户提出为了提高数据库安全性考虑,须要改动sys/systempassword,并通过数据库验证方式来代替默认的操作系统方式,如今我来把这两种验证方式总结一下. 操作系统验证.即通 ...

  9. php简单工厂模式

    工厂类中有一个创建对象的方法,根据传入参数的不同来生成不同的对象 class Operation extends Model{ private $numberA; private $numberB; ...

  10. Java之美[从菜鸟到高手演变]之字符串

    一.String 1.String简介 初始化: 一般由String声明的字符串,长度是不可变的,这也是它与StringBuffer和StringBuilder最直观的一个区别.一般初始化方式:Str ...