В файле .jar есть javax.xml.stream. *?

У меня снова проблемы с моим Mac, работающим на Java 1.5.... где я могу получить файл .jar с javax.xml.stream.XMLInputFactory? Я хочу использовать StAX, но не знаю, как правильно настроить его.


Я не могу получить эту настройку. Теперь я загрузил jaxp-api.jar, jsr173_1.0_api.jar, sjsxp.jar, stax-api-1.0.1.jar, stax2-api-3.0.1.jar и woodstox-core-asl-4.0. 5.jar; поместите их все в мой каталог java/lib/ext, убедитесь, что они находятся на моем пути построения eclipse, удалили расширенный атрибут Mac com.apple.quarantine, сделал "chmod a + x" в файлах .jar, а я все равно получите следующую ошибку: import javax.xml.stream.XMLInputFactory;

Ограничение доступа: тип XMLInputFactory недоступен из-за ограничить требуемую библиотеку /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/jsr173_1.0_api.jar

Что мне нужно сделать?

Ответы

Ответ 1

StAX не является частью Java 5; вы найдете его в Java 6. Для Java 5 вам нужно загрузить реализацию StAX и поместить ее в путь к классам.

Woodstox - одна из таких реализаций. Вы также можете использовать Sun Java StAX XML-процессор, который пробился в Java SE 6.

Если я ошибаюсь, обе эти реализации в конечном итоге будут использовать jsr173_api.jar, где вы найдете пакет javax.xml.stream.

Update:

В документации Woodstox вы можете загрузить баннер StAX 1.0.1 API (требуется при использовании стандартного API StAX); банку StAX2 API в Woodstox не будет содержать пакет javax.xml.stream(хотя вам понадобятся оба JAR во время выполнения). Реализация Sun зависит от проекта stax-utils.

Обновление 2

Установка JSXP

Область загружаемых файлов SJSXP выглядит немного странно, поскольку у вас есть файл класса, а не для сборки JAR. Тем не менее, все, что необходимо для получения JAR SJSXP, заключается в том, чтобы выполнить файл класса, который распаковывает дистрибутив.

Получение JA API-интерфейса StAX

Ящик API StAX (jsr173_api.jar или тому подобное) можно получить из проекта утилиты StAX. Он должен находиться в том же каталоге, что и jsxp jar.

Использование JAR в Eclipse

Нет необходимости добавлять JAR в lib/ext JDK. Достаточно добавить два JAR в путь сборки проекта.

Ответ 2

Могу ли я указать вам на findjar.com, который позволяет вам ввести имя класса и определить, какая из них необходима.

например. XMLInputFactory дает

jsr173_1.0_api.jar
jsr173_api.jar
stax-api-1.0.1.jar
stax-api-1.0.1.jar
stax-api-1.0.jar
groovysoap-all-jsr06-0.1.jar