idlj.exe 是 Java 开发工具包(JDK)中的一个工具,用于将 IDL(Interface Definition Language,接口定义语言)文件转换为 Java 接口文件。IDL 是一种用于定义 CORBA(Common Object Request Broker Architecture,公共对象请求代理结构)中的接口的语言,它可以用于描述接口的方法、参数、异常等信息。idlj.exe 工具可以将 IDL 文件转换为 Java 接口文件,以便在 Java 中实现 CORBA 的分布式对象调用。
编译器用法:
java com.sun.tools.corba.se.idl.toJavaPortable.Compile [选项] <idl 文件>
其中, <idl 文件> 是包含 IDL 定义的文件的名称, 而 [选项] 是下列选项的任意组合。选项是可选的, 并且显示顺序并不固定; <idl 文件> 是必需的,并且必须显示在最后。
选项:
-d <符号> 这等同于 IDL 文件中的下面一行: #define <符号>
-emitAll 发出所有类型, 包括在 #included 文件中找到的类型。
-f<side> 定义要发出哪些绑定。<side> 是 client,server, all, serverTIE, allTIE 之一。serverTIE 和 allTIE 导致发出委派模型骨架。如果未使用此标记, 将假定为 -fclient。
-i <包含路径> 默认情况下, 将在当前目录中扫描包含的文件。此选项将添加另一个目录。
-keep 如果要生成的文件已存在, 请不要覆盖它。默认情况下会覆盖它。
-noWarn 隐藏警告。
-oldImplBase 生成与旧版 (1.4 版之前) JDK ORB 兼容的骨架。
-pkgPrefix <t> <前缀> 当在文件范围内遇到类型或模块名 <t> 时, 在为 <t> 生成的所有文件的 Java 程序包名前添加 <前缀>。
-pkgTranslate <t> <pkg> 当遇到类型或模块名 <t> 时, 在生成的 Java 程序包中将其替换为 <pkg>。请注意,将首先进行 pkgPrefix 更改。<t> 必须与完整程序包名完全匹配。另外, <t> 不能为 org, org.omg 或 org.omg 的任何子程序包。
-skeletonName <xxx%yyy> 根据模式命名骨架。默认值为: %POA 表示 POA 基类 (-fserver 或 -fall) _%ImplBase 表示 oldImplBase 基类 (-oldImplBase 和 (-fserver 或 -fall))。
-td <dir> 使用 <dir> 表示输出目录以代替当前目录。
-tieName <xxx%yyy> 根据模式命名 tie。默认值为: %POATie 表示 POA tie (-fserverTie 或 -fallTie) %_Tie 表示 oldImplBase tie (-oldImplBase 和 (-fserverTie 或 -fallTie))。
-v, -verbose 详细模式。
-version 显示版本号并退出。
(1)将 IDL 文件转换为 Java 接口文件
idlj.exe idl_file
这个命令将把指定的 IDL 文件 (idl_file) 转换为 Java 接口文件。转换后的 Java 接口文件将包含 IDL 文件中定义的接口、方法、参数和异常等信息。
(2)指定输出目录
idlj.exe -d output_dir idl_file
这个命令将把指定的 IDL 文件 (idl_file) 转换为 Java 接口文件,并将生成的 Java 接口文件输出到指定的目录 (output_dir) 中。可以通过这种方式来指定生成文件的输出位置。
(3)指定输出包名
idlj.exe -pkgPrefix package_name idl_file
这个命令将把指定的 IDL 文件 (idl_file) 转换为 Java 接口文件,并在生成的 Java 接口文件中指定包名 (package_name)。可以通过这种方式来指定生成文件的包名。