在学习Redis的过程中,在学到Redis客户端Jedis的时候,考虑到能不能在ubuntu下用Vim编写Java程序并且能够运行呢?

  于是,首先在网上调研了一番用Vim写Java程序的可实现性。

  相对于我们熟悉的IDE来说,使用Vim编写程序并且在Ubuntu下通过命令行运行还是比较麻烦的:

  • 首先没有自动补全功能,当然自动补全可以通过插件来实现,但是目前的插件有的时候自动补全不能工作。
  • 文件系统比较复杂,没有很清晰的文件目录结构。
  • 代码几乎手敲,什么都是手敲。
  • 使用API的时候不知道要重写那些方法,需要查阅API手册,会很麻烦。
  • 使用命令行运行的时候,导入第三方包很麻烦,环境变量什么的很烦人。

  总结来说:可以用,但是不适合。

  当然,你要是说用Linux版本的eclipse不就行了嘛,那当然了,但是就想搞清楚一下。

  

  1.安装JDK配置环境变量什么的就不细说了,运行java -version就能知道能不能正确使用:

root@myubuntu:/home/software# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) -Bit Server VM (build 25.161-b12, mixed mode)

  2.首先将要执行的java程序放在/home/workspace/JedisTest/src下,将需要导入的jar包放在/home/workspace/JedisTest/lib下

root@myubuntu:/home/workspace# tree
.
└── JedisTest
├── bin
├── lib
│   └── jedis-2.9..jar
└── src
└── ubuntuJedis.java directories, files

  3.编译。

  -cp指定环境变量,可以用-classpath代替,-d指定编译的类文件路径

root@myubuntu:/home/workspace/JedisTest# javac -cp /home/workspace/JedisTest/lib/jedis-2.9..jar -d /home/workspace/JedisTest/bin src/ubuntuJedis.java
root@myubuntu:/home/workspace/JedisTest# tree
.
├── bin
│   └── ubuntuJedis.class
├── lib
│   └── jedis-2.9..jar
└── src
└── ubuntuJedis.java directories, files

  4.运行

  首先看一下Redis没有字段:

127.0.0.1:> keys *
(empty list or set)

  使用java命令运行,注意的是-cp:jar包路径 + “/” + jar包 + “:” + 类文件路径 + “” + 类名称,linux中使用冒号作为分隔符。

root@myubuntu:/home/workspace/JedisTest# java -cp /home/workspace/JedisTest/lib/jedis-2.9..jar:/home/workspace/JedisTest/bin/ ubuntuJedis
ubuntuJedis
root@myubuntu:/home/workspace/JedisTest# redis-cli
127.0.0.1:> keys *
) "ubuntu"
127.0.0.1:> get ubuntu
"ubuntuJedis"

  5.总结

  主要还是环境变量的问题,也可以在/etc/profile文件中修改环境变量,不管怎么样都是很麻烦。

  所以,还是用IDE吧。

(记录)Ubuntu系统中运行需要导入jar包的Java程序的更多相关文章

  1. 在Linux下运行引入了外部jar包的java程序

    如图:H.java里引入了commons-io-2.2.jar 代码如下: import org.apache.commons.io.IOUtils; public class H{ public s ...

  2. idea中运行maven安装jar包到本地仓库跳过test

  3. Android使用KSOAP2调用WebService及正确导入jar包的问题(转)

    Android使用KSOAP2调用WebService及正确导入jar包的问题(转)     错误信息 最近在学Android使用KSOAP2调用现有的Webservice的方法,期间在网上找了很多代 ...

  4. Android 系统中运行jar文件

    在android系统中运行jar操作步骤: 1.       打包编译jar包 2.       将jar包导入android设备中 adb push test.jar  /data/local/tm ...

  5. 使用mybatis assembly插件打成tar包,在linux系统中运行服务

    使用mybatis assembly插件打成tar包,在linux系统中运行服务 assembly插件插件地址: 链接:https://pan.baidu.com/s/1i6bWPxF 密码:gad5 ...

  6. Java开发过程中开发工具Eclipse中导入jar包的过程

    欢迎欣赏我的第二篇随笔.我们在创建好一个动态网站项目之后,如果没有部署maven的情况下,你可以按照以下的方法,直接把要用的jar包导入你的工程中,而不用再部署maven. 例如在使用JDBC编程时需 ...

  7. 在Debian/Ubuntu系统中安装*.sh与*.bin文件

    在Debian/Ubuntu系统中安装*.sh与*.bin文件的基本方法.一,安装*.sh文件运行命令行至文件目录下,执行:sudo sh *.sh直接运行在命令行中执行:sudo chmod +x ...

  8. AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)

    这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...

  9. 二、Android Studio使用——导入jar包,运行、debug都不是问题

    [新建AndroidStudio工程,lib导入jar包]   我们的项目代码都在app里面,可以看作是一个Model.   src 下面除了我们的代码之外,还有单元测试. 把JAR复制到libs文件 ...

随机推荐

  1. java自学小段 产生随机数

    public class Suijishu { public static void main(String[] args) { double i=Math.random();//产生一个0-0.5的 ...

  2. 基于djiango实现简易版的图书管理系统

    介绍: 本程序仅仅实现图书数据的增删查 树形结构如下   全部代码如下: url: from django.urls import path from front import views as fr ...

  3. 2019-2020-1 20199303<Linux内核原理与分析>第二周作业

    2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...

  4. rpm -qa|grep nfs >/dev/null 2>&1作用

    在使用一些shell命令是,经常会用到rpm -qa|grep nfs >/dev/null 2>&1之类的命令,该命令干嘛用的呢? 其实这个命令就是将rpm -qa|grep n ...

  5. linux查看cpu核数和内存指令

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| ...

  6. 正睿OI国庆day1

    正睿OI国庆day1 T1 \[ S_n=1*S_{n-1}+1*F_{n-1}+1*F_{n-2}+1*f_{n-1}+1*f_{n-2} \] \[ F_{n}=0*S_{n-1}+1*F_{n- ...

  7. Kubernetes 系列(八):搭建EFK日志收集系统

    Kubernetes 中比较流行的日志收集解决方案是 Elasticsearch.Fluentd 和 Kibana(EFK)技术栈,也是官方现在比较推荐的一种方案. Elasticsearch 是一个 ...

  8. RabbitMQ原理介绍

    RabbitMQ历史 RabbitMQ消息系统是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.在同步消息通讯的世界里有很多公开标准(如COBAR的IIO ...

  9. 创建新镜像-从已创建的容器中更新镜像并提交镜像(以Nginx为例)

    目标:现在我们主要是修改nginx的index.html,然后做一个新镜像 1.基于nginx:1.12运行一个容器 docker run -d -p 8080:80 --name nginx ngi ...

  10. yii2 对字段 自动加一 或 减一

    用于数字类型,将值进行 累加 或者 累减 $count = 1, 就是加一 .   $count = -1, 就是减一 . $effect =  Model::updateAllCounters( [ ...