`
zhaoningbo
  • 浏览: 609537 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Zeroc ICE中间件slice2java的ant脚本(v1u0_0)

阅读更多
引言:

    很高兴百度、google上搜到"slice2java ant"时,只有我这一篇帖子。有网友邮件,表示目前版本未能支持"$ slice2java -DIR ..." 这样的句法。今天有点时间,做了一下升级,如有其他问题,欢迎来此追问。中英文均可,不用刻意找翻译工具,好意心领了。

    升级版可以在文尾下载到。
    请留意[modify]**又增加一处,共两处。
    原贴:Zero ICE中间件slice2java的ant脚本

正文:


    本版支持了如下的句法(命令提示符$后无换行是空格):

$ D:\kits\ice\ZeroC\Ice-3.4.1\bin\slice2java  
--output-dir D:\demo\workspace\numberIceSliceDemo\generated 
-ID:\demo\workspace\numberIceSliceDemo\slice
D:\demo\workspace\numberIceSliceDemo\slice\com\number\demoicegrid\simple\Nihao.ice
D:\demo\workspace\numberIceSliceDemo\slice\com\number\except\ExceptionDef.ice


    功能请参看原贴(地址引言提供)。注释比较齐全了~。= 。直接上代码。

    (1)slice2java ant小脚本

<?xml version="1.0" encoding="utf-8"?>
<!--  ================  -->
<!--  Auto slice2java.  -->
<!--    by:zhaoningbo,  -->
<!--    version: v1.0    -->
<!--    email:zhaoningbo@hotmail.com -->
<!--  ================  -->
<project name="autoBuild_slice2java" default="slice2java.compile" basedir=".">

	<!-- defind all parameters -->
	<property name="slice.dir" value="slice">
	</property>
	<property name="generated.dir" value="generated">
	</property>
	<!-- [modify]** Set the SETUP_HOME of the ICE.** -->
	<property name="ice.home.dir" value="D:/kits/ice/ZeroC/Ice-3.4.1">
	</property>
	<!-- [modify]** Set the SLICE_HOME of the ICE.** -->
	<property name="slice.home.dir" value="D:/demo/workspace/numberIceSliceDemo/slice/">
	</property>

	<!-- prepare environment and 'slice2java' command support. -->
	<target name="preDefine" description="Slice: add all prepared defines.">
		<mkdir dir="${generated.dir}" />
		<taskdef name="slice2java" classpath="${ice.home.dir}/lib/ant-ice.jar" classname="Slice2JavaTask">
		</taskdef>
	</target>

	<!-- run slice2java -->
	<target name="slice2java.compile" depends="preDefine" description="Slice: compile all *.ice.">
		<slice2java outputdir="${generated.dir}" includepath="${slice.home.dir}">
			<fileset dir="${slice.dir}">
				<include name="**/*.ice" />
			</fileset>
		</slice2java>
	</target>

	<!-- clear slice2java -->
	<target name="slice2java.clear" description="Slice: delete generated directory to clear *.java from *.ice.">
		<delete includeemptydirs="true">
			<fileset dir="${generated.dir}" includes="**/*">
			</fileset>
		</delete>
	</target>

</project>
<!--          Update Logs                                             -->
<!-- 110729: contain 'includepath' to use the '-IDIR'(the slice2java  -->
<!--         option). now we support the '#incluce <file.ice>' sytax. -->




    (2)测试的slice

    文件“D:\demo\workspace\numberIceSliceDemo\slice\com\number\demoicegrid\simple\Nihao.ice”

/*
 * by:      zhaoningbo
 * date:    2011-07-28 14:32
 */
#ifndef ICEGRID_SIMPLE_HELLO_DEF
#define ICEGRID_SIMPLE_HELLO_DEF

// reference the Exception Definition.
#include <com/number/except/ExceptionDef.ice>
module com{
    module number{
        module demoicegrid{
            module simple{
        
        interface Nihao{
            string sayNihao() throws com::number::except::UGenericException;
            void shutdown();
        };
        
            };
        };
    };
};
#endif


    文件“D:\demo\workspace\numberIceSliceDemo\slice\com\number\except\ExceptionDef.ice”

/*
 * by:      zhaoningbo
 * date:    2011-07-25 15:49
 */
#ifndef EXCEPTION_COMMON_DEF
#define EXCEPTION_COMMON_DEF
module com{
    module number{
        module except{
        
            exception UGenericException{
                string cause;
            };
            
            exception UNullParamException extends UGenericException{
                string msg;
            };
            
        };
    };
};
#endif


说明:

    当:
        (1)slice的*.ice定义中使用#include <fullfilename.ice>不便迁移;
        (2)不便使用“预定义”方式解决(例如如异常不能预定义);
        (3)项目结构复杂,除专人花大量时间外,队友很难维护好按顺序编译;
    时,

    建议参考“$ slice2java -I<DIR> XXX.ice”参数的说明。



    (完结)




   
1
6
分享到:
评论

相关推荐

    Zeroc ICE中间件slice2java的ant脚本

    NULL 博文链接:https://zhaoningbo.iteye.com/blog/1071365

    Zeroc ice消息中间件

    Zeroc ice消息中间件,里面有五本相关的电子书。

    ZeroC Ice 3.7 手册

    Ice(Internet Communications Engine)是ZeroC公司的杰作,继承了CORBA的血统,是新一代的面向对象的分布式系统中间件。Ice是RPC通讯领域里最稳定、强大、高性能、跨平台、多语言支持的老牌开源中间件,特别适合于...

    ZeroC Ice权威指南

    《ZeroC Ice权威指南》是业界第一本关于Ice这个知名开源分布式RPC中间件的纸质书籍,全书内容涵盖了分布式系统架构概述、RPC原理、Ice基础源码研读、高级进阶、多语言调用、性能调优、SSL安全调用、IceGrid运维与...

    zeroc ice3.4安装2

    zeroc ice3.4安装2 Ice is a modern object-oriented toolkit that enables you to build distributed applications with minimal effort. Ice allows you to focus your efforts on your application logic while ...

    ZeroC ICE原理图

    ZeroC ICE 是指ZeroC公司的ICE(Internet Communications Engine)中间件平台。对于客户端和服务端程序的开发提供了很大的便利。 目前ICE平台中包括Ice,Ice-E,Ice Touch。 Ice为主流平台设计,包括Windows和...

    552404 ZeroC Ice权威指南_ZeroCI_

    权威指南在国内细致的描述了ICE框架的使用

    Zeroc ICE ( Internet Communications Engine )中间件

    ICE(Internet Communications Engine)是ZeroC提 供的一款高性能的中间件,基于ICE可以实现电信级的解决方案。前面我们提到过在设计网站架构的时候可以使用ICE实现对网站应用的基础对象操作,将基础 对象操作和数据库...

    zeroc ice教程 ice环境配置 Ice中文教程 C++ ICE java ICE ICE入门 ice基础教程 ice开发文档

    教程包括: 第一部分 Ice综述 第二部分 核心概念 第三部分 高级Ice 第四部分 Ice服务 附录ice各种配置说明

    zeroc ice pdf文档

    Zeroc Ice 3.4.2/3.5.1/3.6.4/3.7.0 总共4个版本的pdf帮助文档打包. Ice(Internet Communications Engine)是ZeroC公司的杰作,继承了CORBA的血统,是新一代的面向对象的分布式系统中间件。

    zeroc ice3.6 window 安装包

    zeroc ice3.6 window 安装包,因为安装包太大,所以使用百度网盘地址。具体使用demo参见我的博客

    ZeroC Ice3.7 英文版加注中文书签官方手册.zip

    Ice(Internet Communications Engine)是ZeroC公司的杰作,继承了CORBA的血统,是新一代的面向对象的分布式系统中间件。Ice是RPC通讯领域里最稳定、强大、高性能、跨平台、多语言支持的老牌开源中间件,特别适合于...

    Zeroc Ice微服务架构

    本文主要介绍Zeroc Ice微服务架构入门

    Zeroc ice java eclipse project

    Zeroc ice java eclipse project

    ZeroC Ice3.7 官方手册英文版加注中文书签

    ZeroC Ice是一个过渡到分布式程序设计的很好的开发框架。虽然网上有不多的中文资料,但介绍的Ice框架版本较老。新版本中文资料很难找到,特别是3.7的资料。官方资料虽然是英文的,但够详细。由于资料篇幅较大,快速...

    zeroc ice u3d 网络组件

    zeroc_ice u3d tcp socket c# www.zeroc.com ice的unity3d版本。 独家发布。外边绝对没有。 需要咨询。可以给我发信息。

    zeroc ICE 3.3.1文档

    ICE 3.3.1英文文档,有用的多交流

Global site tag (gtag.js) - Google Analytics