OpenOffice.org API を使用して、Open Office スプレッドシート ドキュメントを読んでいます。
問題は、OpenOffice プロセスを停止できないことです。ドキュメントは閉じますが、プロセスは実行され続けます (タスク マネージャーとして示されます)。したがって、たとえ i であっても jvm は存在しません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 Update 14
- OS: Windows XP (Windows 7 と同じ)
- Open Office: バージョン 3.2 (ソフトウェアはアップグレードできません)