Я использую пакет javax.xml.soap в своем рабочем приложении для Java, и я хотел бы проверить, является ли этот пакет (и более того, какой-либо пакет, поставляемый с JDK) доступен в JRE на разных платформах (win, mac, linux) для развертывания. Целью является убедиться, что мое приложение будет работать на целевых машинах с JRE или проверить, требуется ли полная JDK. Также для linux я хотел бы убедиться, что open-jdk jre 1.6 (а не оракула один) будет достаточно. БлагодаряГде проверить, поставляется ли пакет с JRE для Java
ответ
Если вы wan't, чтобы узнать, если класс включен в JRE у вас есть, сделайте следующее:
- Найдите
rt.jar
вашего JRE, шахта была в/usr/lib/jvm/jdk1.7.0_07/jre/lib/rt.jar
- Открыть его с ваш любимый
.zip
зритель - Поиск нужных занятий
- Все готово!
Если вы wan't, чтобы узнать, если JRE вы работаете в содержит свой класс, выполните следующие действия:
- вызов
Class.forName
с именем класса класса вы wan't для тестирования - Поместите это в блок try-catch
- Если вы поймаете
ClassNotFoundException
, его там нет! - Обратите внимание, что это не указано, находится ли он в библиотеке по умолчанию, только это находится на пути к классам!
Пути угадать, есть ли пакет присутствует в JVM во время выполнения:
- Проверьте свойство JRE версии системы (
java.version
) - Попробуйте загрузить классы вы ожидаете в
javax.xml.soap
использовании reflection
на практике, я тем не менее достаточно потребовать определенное JRE (ы), которые будут использоваться для запуска моего приложения в моих требованиях к системе, а не просто пытается обнаружить ш hether пакет доступен.
Извините, возможно, мой вопрос был недостаточно ясным. Я ищу документацию о том, доступен ли определенный пакет JRE или требуется JDK перед развертыванием моего приложения. Я хотел бы избежать упаковки моего приложения и тестирования на оборудованной целевой машине JRE, чтобы убедиться, что этот пакет/класс существует. – lviggiani
Таким образом, вы не пытаетесь достичь этого программно, но, читая документы. У вас тоже есть Google. – gyorgyabraham
В общем, я бы сказал, что вам не понадобится JDK, если вы не хотите использовать какие-либо средства разработки (скажем, javac). Все пакеты времени исполнения являются частью JRE или являются некоторыми сторонними библиотеками или, возможно, некоторыми надстройками Oracle (пример JavaMail). Однако у меня нет опыта работы с JDK, кроме Oracle и IBM. Возможно, некоторые из них упакованы по-разному. Если бы мне пришлось их поддержать, я прибегаю к угадыванию, как описано в ответе. –
Это усилие на переносимость очень хорошее! Я предлагаю вам требовать Java 7, потому что OpenJDK7 по умолчанию используется для него, поэтому больше нет «oracle java лучше openjdk». Я думаю, что требование Java 7 лучше, чем требование конкретной реализации Java (Oracle) или «проверка, работает ли она на openjdk 6». В любом случае я бы предложил очки Дэвида!
- 1. Пакет JRE для Java-приложения
- 2. gwt проверить, установлен ли jre
- 3. Как упаковать jre в пакет приложений java?
- 4. Объединение Java (JRE) в пакет с пружинным загрузочным пакетом/банку?
- 5. Как добавить пакет javax.mail в файл jre
- 6. Попытка создать пакет для debian с java
- 7. java пакет, который включает в себя его собственный JRE
- 8. zipalign не установлен с Java SDK/JRE
- 9. Почему Jetty нужен, когда пакет Solr уже поставляется с Apache?
- 10. Как проверить версию jre с помощью java-приложения
- 11. проверить, проверен ли пакет CRAN
- 12. Пакет внешних файлов в flash поставляется?
- 13. Определите, установлена ли JRE с помощью Install4j
- 14. Где WebSocket поставляется с клиентской стороны
- 15. Установка базы Java JRE?
- 16. JavaFX поставляется с JDK 8?
- 17. Совместимость версии Java (JRE) для скомпилированного кода
- 18. Есть ли Java 1.7 JRE для 32-разрядной ОС X?
- 19. java smart card api support на IBM JRE
- 20. Как проверить версию JRE перед запуском?
- 21. Java + = компилятор/ошибка jre?
- 22. Развернуть приложение java для открытия с помощью JRE
- 23. Может ли Azure webjob установить Java JRE?
- 24. java jre confusion
- 25. пакет включает ли Затмение javac.exe
- 26. Почему Java не поставляется с CopyOnWriteMap?
- 27. Запуск .class & .jre с портативным JRE
- 28. Затмение поставляется с встроенным пакетом javax.sound.sampled. *?
- 29. Java-массивы (в JRE)
- 30. Java bundle JRE
'Class.forName (someClass)' и ждать ClassNotFoundException ... – tilpner
Извините, возможно, мой вопрос был недостаточно ясным. Я ищу документацию о том, доступен ли определенный пакет JRE или требуется JDK перед развертыванием моего приложения. Я хотел бы избежать упаковки моего приложения и тестирования на оборудованной целевой машине JRE, чтобы убедиться, что этот пакет/класс существует. – lviggiani
Вы всегда можете заглянуть в rt.jar JRE, отправленный с вашим JDK ... Они все-таки .zip-файлы. – tilpner