我有一个Rhapsody的java插件但不知何故它没有加载 代码示例:
IRPApplication app = null;
public class ProjectHistory extends RPUserPlugin{
@Override
public void RhpPluginInit(final IRPApplication rpyApplication) {
app = rpyApplication;
}
}
帮助文件如下:
#REM: Definition of the plug-in
name16=Compare...
#REM: the class that implements Rhapsody's callbacks
JavaMainClass16=com.example.rhy.ProjectHistory
#REM: Class paths your application use
JavaClassPath16=./plugins/profile.jar;./plugins/GenericLib.jar;./plugins/java_lib/api.jar
#REM: Tells Rhapsody that this helper is actually a plug-in
isPlugin16=1
isVisible16=1
#REM: Definition of the pup-up menu that trigger the plugin
name17=Compare...
#REM: Tells Rhapsody that this helper actually invokes a plug-in
isPluginCommand17=1
#REM: The command is actually the plug-in name
command17=Compare...
#REM: to create a pop-up menu item on OMDs
applicableTo17=Package
isVisible17=1
但插件甚至没有加载。日志文件中没有错误
Rhapsody版本是8.1.4,用于编译的Java版本是1.8
答案 0 :(得分:0)
首先,我将启用插件的日志记录。 这可以在rhapsody.ini文件中完成,在[General]部分添加以下行:
JavaAPILogFile = C:\ api_log.txt
如果需要,您可以为日志文件选择其他路径。 在日志文件中,您将找到加载插件时完成的所有输出, 一个好的起点是开始搜索异常或插件名称。
BTW你是否增加了上面提到的HEP文件中的项目数量?
答案 1 :(得分:0)
除了Frank的建议之外,我还要补充一点,你的插件(如此处所示)甚至不应该编译,因为你的类定义之前已经定义了你的“app”变量。你需要把它移到课堂里。另外,在引用包含插件的.jar文件时,我在运行.hep文件中使用完全限定的路径名时运气更好。最后,插件逻辑的实际执行发生在RhpPluginInvokeItem()方法中,所以一定要提供。实际上,请确保为界面中的所有方法提供过度使用的方法。
答案 2 :(得分:0)
一些潜在或明确的问题:
如果您扩展RhpPluginInit,那么您已经有了一个方法 override:void RhpPluginInit(IRPApplication rpyApplication),所以,你有你的 申请已经。
答案 3 :(得分:0)
有时Rhapsody在Rhapsody安装期间无法在注册表中注册dll。因此无法正确加载插件。要解决此问题,您需要按照以下说明手动注册rhaposodyserver.dll:
- 以管理员身份打开命令提示符(右键单击cmd.exe并选择“以管理员身份运行”)。
- CD到Rhapsody的安装目录。
- 输入命令: regsvr32.exe rhapsodyserver.dll
您将收到一条消息,表明注册成功。 此后需要重新启动系统。希望这会有所帮助。