(记录)Ubuntu系统中运行需要导入jar包的Java程序
在学习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程序的更多相关文章
- 在Linux下运行引入了外部jar包的java程序
如图:H.java里引入了commons-io-2.2.jar 代码如下: import org.apache.commons.io.IOUtils; public class H{ public s ...
- idea中运行maven安装jar包到本地仓库跳过test
- Android使用KSOAP2调用WebService及正确导入jar包的问题(转)
Android使用KSOAP2调用WebService及正确导入jar包的问题(转) 错误信息 最近在学Android使用KSOAP2调用现有的Webservice的方法,期间在网上找了很多代 ...
- Android 系统中运行jar文件
在android系统中运行jar操作步骤: 1. 打包编译jar包 2. 将jar包导入android设备中 adb push test.jar /data/local/tm ...
- 使用mybatis assembly插件打成tar包,在linux系统中运行服务
使用mybatis assembly插件打成tar包,在linux系统中运行服务 assembly插件插件地址: 链接:https://pan.baidu.com/s/1i6bWPxF 密码:gad5 ...
- Java开发过程中开发工具Eclipse中导入jar包的过程
欢迎欣赏我的第二篇随笔.我们在创建好一个动态网站项目之后,如果没有部署maven的情况下,你可以按照以下的方法,直接把要用的jar包导入你的工程中,而不用再部署maven. 例如在使用JDBC编程时需 ...
- 在Debian/Ubuntu系统中安装*.sh与*.bin文件
在Debian/Ubuntu系统中安装*.sh与*.bin文件的基本方法.一,安装*.sh文件运行命令行至文件目录下,执行:sudo sh *.sh直接运行在命令行中执行:sudo chmod +x ...
- AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)
这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...
- 二、Android Studio使用——导入jar包,运行、debug都不是问题
[新建AndroidStudio工程,lib导入jar包] 我们的项目代码都在app里面,可以看作是一个Model. src 下面除了我们的代码之外,还有单元测试. 把JAR复制到libs文件 ...
随机推荐
- flask+layui+echarts实现前端动态图展示数据
效果图: 该效果主要实现一个table展示数据,并在下方生成一个折线图. 实现方式: 1.首先需要对表格进行一个数据加载,这里用到了layui的table.render,具体用法可以参考 https: ...
- springboot 配置mybatis打印sql
方式 一: ###########################################################配置打印sql############################ ...
- Spark 学习笔记之 map/flatMap/filter/mapPartitions/mapPartitionsWithIndex/sample
map/flatMap/filter/mapPartitions/mapPartitionsWithIndex/sample:
- IDEA 学习笔记之 Java项目开发深入学习(1)
Java项目开发深入学习(1): 定义编译输出路径: 继承以上工程配置 重新定义新的项目编译路径 添加source目录:点击添加,再点击移除: 编译项目: 常用快捷键总结: Ctrl+Space 代码 ...
- 控制器向视图传参ModelAndView、Model和Map
ModelAndView类 ModelAndView在spring-webmvc-4.3.18.RELEASE.jar包下,当然其他版本也有,所在包如下 对于那些返回String等类型的处理方法,sp ...
- JAVAWEB第一节课的课后思考
第一开发一个网站需要的一些技术 至少熟悉一种建站程序.(html,javascript等等)对空间和域名的知识有一定的了解.有一些美工基础(例如ps设计等等).对编程有一些了解.HTML的代码知识基本 ...
- UVA - 11400 Lighting System Design
题文: You are given the task to design a lighting system for a huge conference hall. After doing a lot ...
- 基于KVM的SRIOV直通配置及性能测试
SRIOV介绍.VF直通配置,以及包转发率性能测试 小慢哥的原创文章,欢迎转载 目录 ▪ 1. SRIOV介绍 ▪ 2. 环境说明 ▪ 3. 开启SRIOV ▪ 4. 生成VF ▪ 5. VF直通 ▪ ...
- Django跨域问题(CORS错误)
Django跨域问题(CORS错误) 一.出现跨域问题(cors错误)的原因 通常情况下,A网页访问B服务器资源时,不满足以下三个条件其一就是跨域访问 协议不同 端口不同 主机不同 二.Django解 ...
- C#调用RabbitMQ实现消息队列
前言 我在刚接触使用中间件的时候,发现,中间件的使用并不是最难的,反而是中间件的下载,安装,配置才是最难的. 所以,这篇文章我们从头开始学习RabbitMq,真正的从头开始. 关于消息队列 其实消息队 ...