此常见问题解答回答了与使用 Identity Manager IDE 相关的一些常见问题。
该信息将分为以下几个部分:
我应该使用哪个版本的 Netbeans?
回答:应使用 Identity Manager 产品文档(针对您所使用的 Netbeans 插件版本提供)中提及的 Netbeans 版本。
始终使用所提及的正确版本,因为即使使用修补程序发行版也会造成主要功能无法使用。
Netbeans 插件以前工作正常,但在我进行了一些操作之后就不再正常工作了。产生此问题的原因是什么?
回答:此问题通常是由 .netbeans 目录中的损坏文件引起的。通常来说,删除 .netbeans 目录,然后重新安装 NetBeans 插件就可解决此问题。(删除 .netbeans 目录可以有效地卸载 NetBeans 插件。虽然您会丢失所有的用户设置,但是项目内容是安全的。)
具体步骤如下所示:
关闭 NetBeans。
删除 .netbeans 目录。
启动 NetBeans。
安装 NetBeans 插件。
重新启动 NetBeans。
生成并运行项目花费了很长的时间,Identity Manager IDE 似乎在复制大量的文件。产生此问题的原因是什么?
回答:此问题可能是由以下原因引起的:
您使用的是 Identity Manager IDE 7.0 或 7.1 插件。
应使用 Identity Manager IDE 8.0 插件。为了提高性能,已对 Identity Manager IDE 8.0 配置生成环境 (Configuration Build Environment, CBE) 进行了一些调整。
您可能使用了不必要执行的 Clean 命令。
在使用“清理项目”或“清理并生成项目”时,Identity Manager IDE 将删除整个 image 目录,其中包含几千个文件。在下次生成过程中,Identity Manager IDE 必须从 idm-staging 中复制所有这些文件。
要有效地使用 Identity Manager IDE,您必须了解何时使用 Clean 命令。有关详细信息,请参阅 Identity Manager IDE README.txt 文件中的“何时使用清理”一节。
现在我已经创建了 Identity Manager 项目,应将哪些文件签入到源控制中?
回答:有关信息,请参见 Identity Manager IDE README.txt 中的“CVS 最佳实践”一节。
问题:在 CVS 中使用项目管理的最佳实践是什么?
回答:有关信息,请参见 Identity Manager IDE README.txt 中的“CVS 最佳实践”一节。
问题:何时将对象导入到系统信息库中?
回答:有关信息,请参见使用系统信息库。
问题:如何将新的 JAR 添加到项目中?
回答:请参见 Identity Manager IDE README.txt 中的“如何添加新的 JAR 依赖关系”一节。
应将哪些系统信息库用于沙箱库?
回答:将嵌入式系统信息库用于沙箱中 -- 特别是在使用 Identity Manager 7.1(或更高版本)时(它会提供一个 HsSQL 系统信息库)。如果不使用嵌入式系统信息库,则会丧失一些功能。
有关详细信息,请参阅 Identity Manager IDE README.txt 中的“使用系统信息库”一节。
问题:何时会自动导入对象?
回答:您必须将 Identity Manager IDE 配置为自动导入对象。
具体步骤如下所示:
从 "IdM" 菜单中选择“系统信息库”>“管理嵌入系统信息库”。
启用“管理嵌入系统信息库”对话框上的“自动发布 Identity Manager 对象”选项。
如果选择了“Identity Manager 项目(远程)”或指定了自己的系统信息库,则此选项不可用。
选择“项目”>“运行项目”,或选择“项目”>“调试项目”。
Identity Manager IDE 会自动导入自上次运行该项目以来更改的所有对象。
自动发布 Identity Manager 对象会增加启动服务器所需的时间。要缩短服务器启动时间,请禁用此选项并将对象显式上载到系统信息库。
上载对象最有效的方式是什么?
回答:使用以下方法之一来上载修改过的对象:
在项目树中右键单击一个或多个已编辑的对象,然后从弹出式菜单中选择“上载对象”。
要上载多个对象,在从列表中选择对象时,请按住 Ctrl 键。
选择一个或多个已编辑的对象,然后从 "IdM" 菜单中选择“系统信息库”>“上载对象”。将显示一个对话框,您可以从中选择要上载的对象。
上述两种方法都能将对象直接上载到服务器,因此不会出现缓存延迟问题,并且速度要比使用“运行项目”或“调试项目”快得多。无论使用什么系统信息库,都能使用“上载对象”功能。
只要执行以下任一项目操作,Netbeans 的嵌入式应用服务器即会自动关闭:
清理项目
创建 Delta 分发版
创建 Jar
调试项目
管理嵌入系统信息库
分析项目
运行项目
Identity Manager IDE 调试器速度很慢。产生此问题的原因是什么?
回答:提高调试器的性能:
始终禁用 Tomcat 的 HTTP 监视器,如下所示:
选择 Identity Manager IDE 的“运行时”选项卡。
展开“服务器”节点,然后右键单击“捆绑的 Tomcat”>“属性”。
禁用“启用 HTTP 监视器”选项,然后关闭对话框。
在下次启动 Tomcat 时,将禁用 HTTP 监视器。
如果调试的不是 Java,则选择“项目”>“运行项目”,然后选择“连接调试器”>“Identity Manager XML 对象调试器”,以便仅使用 XPRESS 调试器。
对于非远程 Identity Manager IDE 项目,选择“项目”>“调试项目”将同时启动 XPRESS 调试器和 Java 调试器,而 Java 调试器将会显著增加开销。
我无法在调试器中设置断点。产生此问题的原因是什么?
回答:在以下情况中将无法设置断点:
您只是安装了 NBM,但尚未重新启动 Netbeans。
您的 XML 包含 <Waveset> 包装器元素。
Identity Manager IDE 通常会忽略任何以 <Waveset> 包装器元素开头的文件,因为 Identity Manager IDE 将该元素解析为多个对象文件。
以下功能将不适用于多个对象文件:
调试器
规则测试器
表单预览器
任何编辑器
导入文件生成器
上载对象
比较对象
基本上,您只能对多个对象文件执行导入操作。只有包含 <Waveset> 包装器元素的文件才是项目的顶层导入文件。
我在调试器中设置了断点,但在该断点处并未暂停。产生此问题的原因是什么?
回答:请检查以下两项内容:
请确保对象名称不包含 CBE 替换字符串 (%%)。不允许在对象名称中使用 CBE 替换字符串。
请验证您认为正在执行的代码实际上是否正在执行。尝试添加跟踪,并查看是否有输出内容。
在 Netbeans 中开发规则时,为何设计模式不可用于规则库?
回答:可以从“项目”视图的资源管理器树中获取设计模式功能。使用以下步骤:
展开库节点,然后右键单击某个规则。
当显示弹出式菜单时,选择“属性”,然后单击“主体”。