我正在使用 OpenOffice.org API 阅读 Open Office 电子表格文档。
问题是,我无法停止 OpenOffice 进程。文档关闭,但进程继续运行(如任务管理器所示)。因此 jvm 不存在,即使 i write(System.exit(1))
。我必须在任务管理器中手动结束该过程。
ClassLoader loader = ClassLoader.getSystemClassLoader();
if (loader instanceof URLClassLoader) {
URLClassLoader cl = (URLClassLoader) loader;
Class sysclass = URLClassLoader.class;
try {
Method method = sysclass.getDeclaredMethod("addURL", new Class[]{URL.class});
method.setAccessible(true);
method.invoke(cl, new Object[]{new File(ooBaseDirectory).toURL()});
} catch (Exception e) {
CatchHelper.catchException(e);
}
}
我已经看到了所有选项
http://wiki.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Closing_Documents
并且还使用了该XDesktop.terminate()
选项。
但是,似乎没有任何效果。
- Java 版本:JDK 1.6 更新 14
- 操作系统:Windows XP(与 Windows 7 相同)
- Open Office:3.2版(软件无法升级)