1

ArrayList を持つクラスの簡単な例を試しました。下記参照:

class EmployeeList {            

        List<String> departmentNames = new ArrayList<String>();

        public EmployeeList(String dept1, String dept2) {
            super();
            departmentNames.add(dept1);
            departmentNames.add(dept2);
        }

        public String toString()
        {
            return "EMPLOYEELIST DETAILS : " + departmentNames.toString();
        }
    }

今、タイプ EmployeeList のオブジェクトを JSON 文字列に変換してから、jettison を使用してオブジェクトに戻そうとしています。

EmployeeList employeeList1 = new EmployeeList("IT","FINANCE");

XStream xstreamWriteEmployeeList = new XStream(new JettisonMappedXmlDriver());
xstreamWriteEmployeeList.alias("employee", EmployeeList.class);

String jsonStringEmployeeList = xstreamWriteEmployeeList.toXML(employeeList1);

XStream xstreamReadEmployeeList = new XStream(new JettisonMappedXmlDriver());

xstreamReadEmployeeList.alias("employee", EmployeeList.class);

EmployeeList employeeList2 = (EmployeeList)xstreamReadEmployeeList.fromXML(jsonStringEmployeeList);

試してみたところ、ローカル システムでは動作していますが、アプリケーション サーバーにデプロイしようとすると、エラーが発生します。

java.lang.NoSuchMethodError: org.codehaus.jettison.AbstractXMLStreamWriter.getSerializedAsArrays()Ljava/util/ArrayList;

理由はありますか?ローカル システムとアプリケーション サーバーで同じ Java バージョンを使用しています。

4

0 に答える 0