在学习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. 基于RDD实现简单的WordCount程序

    写在前面 因为觉得自己的代码量实在是太少了,所以,想着,每周至少写5个小的demo程序.现在的想法是,写一些Spark,Storm,MapReduce,Flume,kafka等等单独或组合使用的一些小 ...

  2. 我用阿里云的虚拟云主机,也能配置https加密吗?

    我用阿里云的虚拟云主机,也能配置https加密吗?答案是YES. 整个过程比想象中还要简单,都是一些基本的配置,虚拟主机 Web托管都可以很容易的搞定https. 首先我们要了解一下,阿里云是怎么支持 ...

  3. Spring 梳理-容器(container)

    虽然Spring的组件代码是轻量级的,但它的配置却是重量级的.一开始,Spring用XML配置,而且是很多XML配置.Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显 ...

  4. ol/ul/dl的区别

    一.无序列表-ul(unorder list)  1.语法                     <ul></ul>->Unorder List             ...

  5. 创建FTP访问的YUM源

    创建FTP访问的YUM源 一.安装vsftpd(步骤详见“在linux中搭建vsftpd.docx”) 在主机A上安装FTP,安装后的ftp信息如下:ftp://192.168.43.300  账号密 ...

  6. SpringBootSecurity学习(13)前后端分离版之JWT

    JWT 使用 前面简单介绍了把默认的页面登录改为前后端分离的接口异步登录的方法,可以帮我们实现基本的前后端分离登录功能.但是这种基本的登录和前面的页面登录还有一个一样的地方,就是使用session和c ...

  7. 针对永久不过期的key 批量设置过期时间

    问题需求: redis内存暴增,后来发现有很多设置永久不过期. 解决:查找出来之后针对前缀批量设置过期时间 (过期时间与开发沟通 保证服务不受影响) 来源于网上杨一的代码 正好解决了我遇到的问题 在这 ...

  8. Java 学习笔记之 方法内的临时变量是线程安全

    方法内的临时变量是线程安全: 方法内部的私有变量,是线程安全的. public class HasSelfPrivateNum { public void addI(String username) ...

  9. Python3 学习笔记之 类型/运算符

    类型/运算符: 类型: 整数 字符串 浮点数 布尔类型 类型转换: 检查类型: 算术操作符: 逻辑操作符: 优先级:

  10. golang的生产者消费者模型示例

    package main import "fmt" func Producer(ch chan int) { for i := 1; i <= 10; i++ { ch &l ...