質問

いに対応したアプリケーションして楽しく下Java1.5程度ます。また、ボックスが更新されたJava1.6れます。

後の仕組みを導入し、アプリ、新サーバにまたがその場で発音を確認することが、申請が例外をスローもうとすると変換するにあたコンポーネントです。またなぜこのようなことが起きているのでした展開で、同一のものである。変更後のドv1.5問題を停止し、自動的にすべての。

このメソッドのソース:

import java.io.StringWriter;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Element;
import org.w3c.dom.Node;


   public static String xmlToString(Node node) {
    try {
        Source source = new DOMSource(node);
        StringWriter stringWriter = new StringWriter();
        Result result = new StreamResult(stringWriter);
        TransformerFactory factory = TransformerFactory.newInstance();
        Transformer transformer = factory.newTransformer();
        transformer.transform(source, result);
        return stringWriter.getBuffer().toString();
    } catch (TransformerConfigurationException e) {
        e.printStackTrace();
    } catch (TransformerException e) {
        e.printStackTrace();
    }
    return null;
   }

この波の"トランス.変換(ソース,result);"に沿例外:

Exception in thread "main" java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:373)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:127)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:94)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:662)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:708)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)

なんだろうけど、日本人の変更にJavaのバージョンを起こす。うための最も簡単な修正?

おります。

役に立ちましたか?

解決

は1.4と1.5または1.5と1.6の間であったが、SunからのJVMに同梱されているXalanライブラリはそのパッケージ名を変更した場合、私は覚えていません。私は約2年前に似たように走りました。私は何を私がしなければならなかったことは、明示的に問題を解決するために私自身のXalanの実装を出荷したと思います。

UPDATE:それはまだあなたの問題に関連している可能性がが、これは、私が考えていた何だったかもしれない<のhref = "http://blog.andrewbeacock.com/2006/12/xalan-classes-go-missing -once-javaの-is.html」のrel = "noreferrer">

のリンクテキスト>

他のヒント

この問題は、クラスパス上で、独自ののDocumentBuilderFactoryを提供し、古いのxerces.jarとJDK 1.6で発生することが知られています。

プラットフォームのデフォルトのファクトリを使用している場合、

問題は発生しません。

あなたのWEB-INF / libには、または同等確認したいことがあります。

これは、理由は瓶(Xalanの)バージョンの競合の問題があります。 jarファイルを削除して試してみてください。

出会うこと java.lang.AbstractMethodError 私のコードです。

の時間変化のバージョンの意図書館の選択肢はなかったが、この回避策との比較により、その他のコードが不思議。おそらくこれを他にもあるようです。

でなければいけなかったの書い渡されたDOMSource(). もともと 私が作成した文書は標準的な方法:

    private static Document documentFromInputStream(InputStream in) throws ParserConfigurationException, SAXException, IOException {
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document doc = builder.parse(new InputSource(in));
    return doc;
}

周辺のこの課題, 私変更、工場ラインとして

        DocumentBuilderFactory factory = new DocumentBuilderFactoryImpl();

今はなくなりを取得します。

あなたは(私はそれがJDK1.6とcompitableべきであると考えている)のXercesから最新のバージョンを使用することもできます。

私は同じ問題を抱えていた&私のアプリケーションのクラスパスにxercesImpl-2.11.0.jarとxercesImpl-2.0.2.jarファイルを置き換えます。その作業罰金。

これは私のために働きました。

 TransformerFactory factory = TransformerFactory.newInstance();
    Transformer transformer = factory.newTransformer();
            transformer.setOutputProperty(OutputKeys.METHOD, "xml");
    DOMSource source = new DOMSource(doc);
            StreamResult result = new StreamResult(sWout);
            transformer.transform(source, result);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top