1

NetBeansプラットフォームアプリケーションに保存/ロードを実装しています。そして、私はXStreamを使用してXMLにシリアル化しています。

しかし、逆シリアル化に問題があります。ObjectInputStreamを使用していたとき、次のようにリロードしました。

public class NBSystemClassLoaderObjectInputStream extends ObjectInputStream
{
    public NBSystemClassLoaderObjectInputStream(InputStream in) throws IOException
    {
        super(in);
    }

    @Override
    public Class resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException
    {
        try
        {
            ClassLoader currentTccl = Thread.currentThread().getContextClassLoader();
            return currentTccl.loadClass(desc.getName());
        } catch (Exception e)
        {
        }
        return super.resolveClass(desc);
    }
}

そのため、NBプラットフォーム機能を使用してクラスを検索します。XStreamクラスの読み込みを同じ方法で上書きするにはどうすればよいですか?

4

1 に答える 1

0

XStreamには、getClassLoaderとsetClassLoaderの2つの便利なインスタンスメソッドがあります。最後の1つは、XStreamインスタンスに目的のClassLoaderを提供するために使用できます。

于 2012-05-31T11:52:15.130 に答える