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的安装与入门实验(超详细)相关推荐

  1. Mysql下载以及安装(新手入门,超详细)

    一.Mysql下载 1.官网地址 https://www.mysql.com/ 2.或者百度搜索官网 3.找到Downloads按钮 4.找到社区版 5.找到对应电脑系统,这里选择Mysql on W ...

  2. Postman:Postman简介、安装、入门使用方法详细攻略

    Postman:Postman简介.安装.入门使用方法详细攻略 目录 Postman简介 Postman安装 Postman入门 1.图文教程 1.1.get案例 1.2.post案例 1.3.get ...

  3. AI:从小白到入门,超详细人工智能成长路径分享:观后感

    本博文为视频观后总结,博文出现的专有名词 B 站或者 gitHub 搜索即可检索到学习链接,欢迎各位小伙伴,评论区总结分享好的学习路线 文章目录 AI 学习从小白到入门 1. Python学习 2. ...

  4. VMware安装Centos7和卸载超详细过程(图文)

    下载Centos7镜像 下载地址 提供几个下载Linux镜像的网站,这里我下载的是Centos7.9版本的系统,内核版本为3.10.0版本 国内外镜像源: 阿里云:http://mirrors.ali ...

  5. 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)

    Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...

  6. (一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程

    Ubuntu安装详细教程(从下载镜像到安装NVIDIA驱动) 1.下载镜像文件 2.制作硬盘镜像 2.1 安装UltraISO并打开ISO文件 2.2 制作硬盘镜像 2.3 检查是否成功 3.划分磁盘 ...

  7. linux安装mysql8⼀步⼀步超详细教程

    1.linux安装mysql8⼀步⼀步超详细教程 cd /usr/local/src 2.下载mysql8 wget https://dev.mysql.com/get/Downloads/MySQL ...

  8. 清晰易懂!关于PS入门的超详细笔记!

    给大家分享一篇关于PS入门的超详细笔记!原理讲解清晰明了,虽不是新版本解析,但都是新手学习PS必掌懂的一些知识点,灰常的实用,转走收藏学习! 编辑:千锋UI设计 来源:PS学堂

  9. 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).支持 ...

  10. 【小白入门】超详细的OCRnet详解(含代码分析)

    [小白入门]超详细的OCRnet详解(含代码分析) OCRnet 简介 网络结构 具体实现(含代码分析) 实验结果 本文仅梳理总结自己在学习过程中的一些理解和思路,不保证绝对正确,请酌情参考.如果各位 ...

最新文章

  1. 如何提高UI自动化测试的质量
  2. 实现一个域名对应多个IP地址和DNS优缺点详解!
  3. win8计算机安全模式,Win8.1怎么进入安全模式 两种进入Win8.1安全模式方法介绍
  4. 项目管理、测试管理、代码bug 管理
  5. My cnblogs's first day
  6. 现代GPU的体系结构
  7. 数据分析工具测评!被Excel打过的“耳光”,现在可以还回去了
  8. [IOS]NSUserDefaults读取和写入
  9. J2EE和J2se的区别
  10. ENSP模拟器下载分享
  11. WSUS 服务器 更新补丁 命令
  12. 创业者的噩梦 -商业竞争究竟有多残酷和黑暗
  13. catkin_make 编译包无效(没反应)
  14. 4G IoT设备开发,一板搞定
  15. mysql查询使用空间_mysql 如何察看数据库空间及日志空间使用情况
  16. 腾讯实习生面试2016两道面试题目?(知乎)
  17. D-Link DAP-1860:远程命令执行和认证绕过漏洞
  18. C/C++基本数据类型大小
  19. 阿里云OSS文件上传下载工具类
  20. HDU 1005 第二次呜呜呜 除49啥的请别信

热门文章

  1. Ordinal Numbers
  2. 网际风客户端版本更新历史
  3. ubuntu 关机后 自动重启 解决方法
  4. 【一起学数据结构与算法分析】第二篇:字谜游戏
  5. rabbitmq 存入mysql_将RabbitMQ使用者数据保存到数据库中
  6. Maven项目之一号店——注册与登录
  7. 重要极限二:x趋近于无穷大,(1+1/x)^x的极限
  8. 网站开发流程(附图)
  9. 第四节 二维连续型随机变量及分布、条件概率密度
  10. 无人机倾斜摄影测绘工程毕业论文范文