ice 3.6 java_Ice的安装与入门实验(超详细)
Ice的安装与入门实验(超详细)
下载ice的相关版本
我下载的是Ice-3.4.0.msi ,下载链接:https://zeroc.com/download/Ice/3.4/,目前的版本已经超过了现在的这个,如果你也可以下载你喜欢的版本,安装步骤其实差不多
安装Ice
2.1双击msi程序,出现如下界面,点击Next
2.2选择access,这是必须的,然后点击next,如下图:
2.3选择需要安装的文件夹(如果不需要修改,则保持默认),点击next
2.4点击next进行安装
2.5配置Ice的环境变量,步骤如下:
2.5.1右键点击机选择属性à选择高级系统设置à选择环境变量à在系统环境变量下查找CLASSPATH,双击,将D:\libs\softwore\ice\Ice-3.5.0\lib粘贴到类路径的后面,路径是你安装Ice的路径,所以你的路径可能与我的不一样à在系统环境变量下双击path,将D:\libs\softwore\ice\Ice-3.5.0\bin粘贴到path的后面,切记在不同路径之间有全角分好(;)
Ps:classpath是存放系统需要的jar包的路径,path是存放可执行程序的路径
2.6测试Ice是否安装成功,步骤如下:
点击开始按钮,输入cmdà在出现的dos窗口中输入 icegridnode –version,如果出现如下的界面则说明安装成功
3.ice简单的测试用例
3.1在任意的目录下新建一个文件夹,子该文件下新建一个ice文件,取名Printer.ice
如下图
3.2书写测试代码,代码如下
module Demo{
terface Printer{
id printString(string s);
};
};
3.3打开cmd(就是步骤2.6打开cmd的方法)
在dos窗口中切换目录到你所新建的ice文件所在目录,如下图:
Ps:具体的目录你可以复制粘贴,但是在dos中是不可以使用ctrl + v的,你可以直接鼠右击选择粘贴即可
3.4此时你会发现目录下多了一个文件夹,如下图:
对照3.1图发现多吃了一个文件夹
3.5打开eclipse,新建一个Java project,将3.4中多出来的文件夹拷贝到该工程的src目录下,导入后可能会出现错误,下面有解决的方法
3.5.1 client.java 的代码
package utils;
import Demo.PrinterPrx;
import Demo.PrinterPrxHelper;
import Ice.Communicator;
import Ice.ObjectPrx;
import Ice.Util;
public class Client {
public static void main(String[] args) {
int status =0;
Communicator ic = null;
try {
ic = Util.initialize(args);
ObjectPrx base = ic.stringToProxy("SimplePrinter:default -p 10000");
PrinterPrx printer = PrinterPrxHelper.checkedCast(base);
if(printer == null) throw new Error("Invalid proxy");
printer.printString("Hello World !!");
} catch (Error e) {
System.err.println(e.getMessage());
status = 1;
}
if(ic != null){
try {
ic.destroy();
} catch (Exception e) {
System.err.println(e.getMessage());
status = 1;
}
}
System.exit(status);
}
}
3.5.2 Server.java 的代码
package utils;
import Ice.Communicator;
import Ice.ObjectAdapter;
import Ice.Util;
public class Server {
public static void main(String[] args) {
int status = 0;
Communicator ic = null;
try {
ic = Util.initialize(args);
ObjectAdapter dapter = ic.createObjectAdapterWithEndpoints("SimplePrinterAdapter", "default -p 10000");
Ice.Object obj = new PrinterI();
adapter.add(obj, Util.stringToIdentity("SimplePrinter"));
adapter.activate();
ic.waitForShutdown();
} catch (Exception e) {
System.err.println(e.getMessage());
status = 1;
}
if(ic != null){
try {
ic.destroy();
} catch (Exception e) {
System.err.println(e.getMessage());
status = 1;
}
}
System.exit(status);
}
}
3.5.3Printer.java的代码
package utils;
import Demo._PrinterDisp;
public class PrinterI extends _PrinterDisp {
public void printString(String s, Ice.Current current){
System.out.println(s);
}
}
3.5.4导入Demo出现错误的解决方法
右击projectà选择build path 下的Add External Archivesà再出现的界面中找到Ice.jar所在的位置(就是你安装Ice文件夹下的lib包),选中之后报错问题会解决
3.6输出测试结果,在Server.java下运行文件,再在Client.java下运行文件,会出现如下结果,如图:
Ps:*******befor*****
与******after******是我原来添加的代码,不用管
进过上面的步骤,已经基本入门了,至于具体的代码含义与其他文件中代码的意思,捏可以在后续的学习过程中不断的回看加深理解
ice 3.6 java_Ice的安装与入门实验(超详细)相关推荐
- Mysql下载以及安装(新手入门,超详细)
一.Mysql下载 1.官网地址 https://www.mysql.com/ 2.或者百度搜索官网 3.找到Downloads按钮 4.找到社区版 5.找到对应电脑系统,这里选择Mysql on W ...
- Postman:Postman简介、安装、入门使用方法详细攻略
Postman:Postman简介.安装.入门使用方法详细攻略 目录 Postman简介 Postman安装 Postman入门 1.图文教程 1.1.get案例 1.2.post案例 1.3.get ...
- AI:从小白到入门,超详细人工智能成长路径分享:观后感
本博文为视频观后总结,博文出现的专有名词 B 站或者 gitHub 搜索即可检索到学习链接,欢迎各位小伙伴,评论区总结分享好的学习路线 文章目录 AI 学习从小白到入门 1. Python学习 2. ...
- VMware安装Centos7和卸载超详细过程(图文)
下载Centos7镜像 下载地址 提供几个下载Linux镜像的网站,这里我下载的是Centos7.9版本的系统,内核版本为3.10.0版本 国内外镜像源: 阿里云:http://mirrors.ali ...
- 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)
Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...
- (一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程
Ubuntu安装详细教程(从下载镜像到安装NVIDIA驱动) 1.下载镜像文件 2.制作硬盘镜像 2.1 安装UltraISO并打开ISO文件 2.2 制作硬盘镜像 2.3 检查是否成功 3.划分磁盘 ...
- linux安装mysql8⼀步⼀步超详细教程
1.linux安装mysql8⼀步⼀步超详细教程 cd /usr/local/src 2.下载mysql8 wget https://dev.mysql.com/get/Downloads/MySQL ...
- 清晰易懂!关于PS入门的超详细笔记!
给大家分享一篇关于PS入门的超详细笔记!原理讲解清晰明了,虽不是新版本解析,但都是新手学习PS必掌懂的一些知识点,灰常的实用,转走收藏学习! 编辑:千锋UI设计 来源:PS学堂
- Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)
Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细) 目录 一.安装Node(npm)需要的环境和版本发布信息 (1).Node版本和npm版本关系 (2).支持 ...
- 【小白入门】超详细的OCRnet详解(含代码分析)
[小白入门]超详细的OCRnet详解(含代码分析) OCRnet 简介 网络结构 具体实现(含代码分析) 实验结果 本文仅梳理总结自己在学习过程中的一些理解和思路,不保证绝对正确,请酌情参考.如果各位 ...
最新文章
- 如何提高UI自动化测试的质量
- 实现一个域名对应多个IP地址和DNS优缺点详解!
- win8计算机安全模式,Win8.1怎么进入安全模式 两种进入Win8.1安全模式方法介绍
- 项目管理、测试管理、代码bug 管理
- My cnblogs's first day
- 现代GPU的体系结构
- 数据分析工具测评!被Excel打过的“耳光”,现在可以还回去了
- [IOS]NSUserDefaults读取和写入
- J2EE和J2se的区别
- ENSP模拟器下载分享
- WSUS 服务器 更新补丁 命令
- 创业者的噩梦 -商业竞争究竟有多残酷和黑暗
- catkin_make 编译包无效(没反应)
- 4G IoT设备开发,一板搞定
- mysql查询使用空间_mysql 如何察看数据库空间及日志空间使用情况
- 腾讯实习生面试2016两道面试题目?(知乎)
- D-Link DAP-1860:远程命令执行和认证绕过漏洞
- C/C++基本数据类型大小
- 阿里云OSS文件上传下载工具类
- HDU 1005 第二次呜呜呜 除49啥的请别信