在学习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. 我面向 Google 编程,他面向薪资编程

    面试官:同学,说一说面向对象有什么好处? 神仙开发者:我觉的面向对象编程没有什么好处. 面试官:为什么(摊手.问号脸)? 神仙开发者:因为在面向对象的时候,我对象总是跟我说话,问我在淘宝上挑的衣服哪个 ...

  2. Hive窗口函数最全案例详解

    语法: 分析函数 over(partition by 列名 order by 列名 rows between 开始位置 and 结束位置) 常用分析函数: 聚合类 avg().sum().max(). ...

  3. 利用sqlalchemy 查询视图

    这个问题 google 百度 中英文搜了一上午.最新的回答还是 7年前.最后自己靠着官方文档的自己改出来一个比较方便的方法 使用环境 python == 3.7.0 SQLAlchemy === 1. ...

  4. Spring 梳理-AOP

    界面应用场景 日志.声明式事务.安全.缓存 AOP功能演化图 图片引用地址:https://www.cnblogs.com/best/p/5679656.html AOP设计模式-代理模式 静态代理: ...

  5. SpringBootSecurity学习(11)网页版登录之URL动态权限

    动态权限 前面讨论用户登录认证的时候,根据用户名查询用户会将用户拥有的角色一起查询出来,自动实现判断当前登录用户拥有哪些角色.可以说用户与角色之间的动态配置和判断security做的非常不错.不过在配 ...

  6. Flask基础(12)-->请求上下文和应用上下文

    请求上下文和应用上下文 请求上下文:可以简单理解为客户端与服务器之间数据交互请求的容器 请求上下文对象有:request.Session request:封装了HTTP请求的内容,针对的是http的请 ...

  7. Yii2 前后台登陆退出分离、登陆验证

    这里用的yii2高级模板, 基本模板的配置文件在一个文件里,方法基本没什么区别, 1.用户表要有两个用户表, 当然一个也行,分开是省得麻烦,既然是分离了就彻底分开, 前台表user,后台表user_b ...

  8. 【集群监控】Prometheus+AlertManager实现邮件报警

    AlertManager下载 https://prometheus.io/download/ 解压 添加配置文件test.yml,配置收发邮件邮箱 Prometheus下载配置参考我的另一篇: htt ...

  9. IOS上传到App Store出现证书未安装问题

    今天在提交自己的APP到苹果商店去审核的时候,编译成功后.upload过程中,提示 XXX Select the certificates you wish to include in this pr ...

  10. 服务器时间误差导致的google sign-in后台验证错误(远程调试java程序)

    https://developers.google.com/identity/sign-in/web/backend-auth import com.google.api.client.googlea ...