IBM JVM 1.6 SR14:java.lang.UnsatisfiedLinkError:fontmanager(在com.ibm.oti.vm.bootstrap.library.path中找不到) [英] IBM JVM 1.6 SR14: java.lang.UnsatisfiedLinkError: fontmanager (Not found in com.ibm.oti.vm.bootstrap.library.path)

查看:407
本文介绍了IBM JVM 1.6 SR14:java.lang.UnsatisfiedLinkError:fontmanager(在com.ibm.oti.vm.bootstrap.library.path中找不到)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们将AIX机器上的IBM Java从Java 1.6 SR 9升级到Java 1.6 SR14,现在在启动应用程序时出现以下错误:

We upgraded IBM Java on our AIX machine from Java 1.6 SR 9 to Java 1.6 SR14 and now we have following error during start of our applications:

Exception in thread "main" java.lang.UnsatisfiedLinkError: fontmanager (Not found in com.ibm.oti.vm.bootstrap.library.path)
        at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1030)
        at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:994)
        at java.lang.System.loadLibrary(System.java:507)
        at sun.font.FontManager$1.run(FontManager.java:240)
        at java.security.AccessController.doPrivileged(AccessController.java:273)
        at sun.font.FontManager.<clinit>(FontManager.java:235)
        at java.lang.J9VMInternals.initializeImpl(Native Method)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
        at sun.swing.SwingUtilities2.isComplexLayout(SwingUtilities2.java:203)
        at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:736)
        at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:704)
        at javax.swing.text.rtf.RTFReader$DocumentDestination.deliverText(RTFReader.java:1610)
        at javax.swing.text.rtf.RTFReader$TextHandlingDestination.handleText(RTFReader.java:1546)
        at javax.swing.text.rtf.RTFReader.handleText(RTFReader.java:186)
        at javax.swing.text.rtf.RTFParser.write(RTFParser.java:163)
        at javax.swing.text.rtf.AbstractFilter.readFromReader(AbstractFilter.java:116)
        at javax.swing.text.rtf.RTFEditorKit.read(RTFEditorKit.java:122)
        at Rtf.convert(Rtf.java:17)
        at Rtf.main(Rtf.java:29)

以下代码允许重现此问题:

Following code allows to reproduce this problem:

import java.io.StringReader;

import javax.swing.text.DefaultStyledDocument;
import javax.swing.text.Document;
import javax.swing.text.rtf.RTFEditorKit;

public class Rtf {

        public Rtf() {
        }

        static public String convert(String rtf) throws Exception {
                DefaultStyledDocument styledDoc = new DefaultStyledDocument();
                RTFEditorKit rtfKit = new RTFEditorKit();
                StringReader reader = null;
                reader = new StringReader(rtf);
                rtfKit.read(reader, styledDoc, 0);
                Document doc = styledDoc.getDefaultRootElement().getDocument();
                String txt = doc.getText(0, doc.getLength());
                return txt;
        }

        public static void main(String[] args) throws Exception {
                System.getProperties().store(System.out, "Current System props");

                System.out.println("fontmanger LIB: "+ System.mapLibraryName("fontmanager"));

                String rtf="{\\rtf1\\deff0{\\fonttbl{\\f0 Times New Roman;}{\\f1 Courier New;}}{\\colortbl\\red0\\green0\\blue0 ;\\red0\\green0\\blue255 ;}{\\*\\listoverridetable}{\\stylesheet {\\ql\\f1\\fs2
0\\cf0 Normal;}{\\*\\cs1\\f1\\fs20\\cf0 Default Paragraph Font;}{\\*\\cs2\\sbasedon1\\f1\\fs20\\cf0 Line Number;}{\\*\\cs3\\ul\\f1\\fs20\\cf1 Hyperlink;}}\\sectd\\pard\\plain\\ql{\\f1\\fs20\\cf0 draw 2 extra
 6ml lav. label with chart labels\"}\\f1\\fs20\\par\\pard\\plain\\ql{\\f1\\fs20\\cf0 ?When to Transfuse: When Avl}\\f1\\fs20\\par}";
                String txt = Rtf.convert(rtf);
        }
}

如果不使用任何jvm参数运行Rtf类,则没有任何例外:

There are no any exceptions if to run Rtf class without any jvm arguments:

java Rtf

但是如果使用-Dcom运行Rtf类.sun.management.jmxre mote jvm参数,则将出现异常线程 main中的异常 java.lang.UnsatisfiedLinkError:fontmanager(在com.ibm.oti.vm.bootstrap.library.path中找不到)

But if to run Rtf class with "-Dcom.sun.management.jmxremote" jvm argument then there will be exception "Exception in thread "main" java.lang.UnsatisfiedLinkError: fontmanager (Not found in com.ibm.oti.vm.bootstrap.library.path)":

java -Djava.awt.headless=true -Dcom.sun.management.jmxremote Rtf  

有人知道如何解决此问题吗?

Does anyone know how to fix this problem?

推荐答案

解决方法是将目录/ usr / java6_64 / jre / lib / ppc64 / xawt添加到当前的LIBPATH。

The workaround is to add the directory /usr/java6_64/jre/lib/ppc64/xawt to current LIBPATH.

这篇关于IBM JVM 1.6 SR14:java.lang.UnsatisfiedLinkError:fontmanager(在com.ibm.oti.vm.bootstrap.library.path中找不到)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆