Как загрузить JAXB в апплет под Java 1.5 - PullRequest
1 голос
/ 24 февраля 2011

У меня есть апплет (упакованный как jar), требуется JAXB (jaxb-api-2.1.jar), работающий нормально с Java 1.6.Тем не менее, когда он работает под Java 1.5, даже если классы JAXB извлечены в jar-файл апплета, у меня есть следующие исключения:

Exception: javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory not found
 - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]

javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory not found
 - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
     at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:152)
     at javax.xml.bind.ContextFinder.find(ContextFinder.java:299)
     at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)
     at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)
 .......
Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
     at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
     at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:117)

Исключения - это три строки в этой строке:1006 * Есть идеи, почему?Большое спасибо заранее

1 Ответ

2 голосов
/ 24 февраля 2011

Вам нужно, чтобы все jar-файлы, необходимые для JAXB, были доступны для вашего апплета (т.е. все они должны быть загружены), потому что JAXB не поставляется в комплекте с Java 1.5.Вы захотите получить всю реализацию JAXB из справочной или вашей любимой реализации и настроить апплет на использование всех этих jar-файлов.

...