![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
techmax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 5.9.2007 Где: Красноярск Репутация: 2 Всего: 2 |
Можно ли использовать классы скомпилированные по 6 при работе на 5 java, если используется к
некоторые фитчи из 6 к примеру.
Я протестировал вроде работает. Но не возникнут ли какие-нибудь грабли |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Уж не знаю как ты тестировал, но в JDK 1.5 класса java.awt.Desktop нет и соответственно твой код при запуске выкинет ClassNotFoundException. Это сообщение отредактировал(а) tux - 19.9.2007, 00:13 -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
techmax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 5.9.2007 Где: Красноярск Репутация: 2 Всего: 2 |
Как тестировал. Скомпилил под JDK 1.6. И запустил Jar файл под 1.5.
Так он же обращается к java.awt.Desktop только когда версия 1.6. И как я понимаю если не использую какой-то класс то JVm должно быть без разницы существует он или нет, насколько я помню загрузка класс начинается при обращении к нему |
|||
|
||||
UnicornMirage |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 15.11.2005 Репутация: 1 Всего: 1 |
думаю что это верно, и твой код будет работать пока не наткнется во времени выполнения на несуществующий класс.. |
|||
|
||||
bars_uz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 26.3.2005 Где: Tashkent Репутация: нет Всего: нет |
Как Я понемаеу эта реалн... если ти будеш проверять JVM то может бит твоя идея проканает
|
|||
|
||||
AxNe0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 24.4.2006 Где: St. Petersburg Репутация: 4 Всего: 5 |
LSD прав. Ты запускаешь метод своего класса A, написанного на 5-й версии, он обращается к классу B, скомпиленному в 6-й. Класс B вызывает метод класса C, которого не существует. И тут, о чудо! Точнее нет, не чудо, а вполне адекватная реакция JVM - летит ClassNotFoundException! ;)
|
|||
|
||||
techmax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 5.9.2007 Где: Красноярск Репутация: 2 Всего: 2 |
Я понимаю что если класса не существует вылетит ClassNotFoundException. Но дело в том что я знаю что этого класса нет и в зависимости от версии JVM обращаюсь к тому методу который существует. И весь вопрос в том не возникнет ли при этом каких-нибудь проблем. А то очень не хочется вести разные билды для разных JVM
|
|||
|
||||
AxNe0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 24.4.2006 Где: St. Petersburg Репутация: 4 Всего: 5 |
так бы сразу и сказал
![]() |
|||
|
||||
techmax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 5.9.2007 Где: Красноярск Репутация: 2 Всего: 2 |
Просто хочется использовать некоторые возможности Java 6. А пока все клиенты переедут на 6 пройдет очень много времени
|
|||
|
||||
lando1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 30.4.2007 Репутация: нет Всего: нет |
ну можешь проверять есть ли в JVM класс java.awt.Desktop - ежели есть - то jdk не менее 6.
|
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Если профессиональная деятельность клиентов далека от программирования, то, возможно, они никогда не переедут, если их не вынудить. ![]() |
|||
|
||||
techmax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 5.9.2007 Где: Красноярск Репутация: 2 Всего: 2 |
Лучше наоборот если jdk 6 то в нем есть java.awt.Desktop. |
|||
|
||||
SergikXP |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 21.10.2006 Репутация: нет Всего: -1 |
А как у вас получилось запустить приложение скомпилированное 6й явой на 5й?
в 6й совсем другой ClassLoader... и 5я вроде как о нйм совсем не знает...? |
|||
|
||||
techmax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 5.9.2007 Где: Красноярск Репутация: 2 Всего: 2 |
Не понял вопроса? в каком смысле другой ClassLoader?
Как запустил java - jar test.jar |
|||
|
||||
jaspeen |
|
|||
![]() Чертяка Профиль Группа: Участник Сообщений: 7 Регистрация: 4.10.2007 Репутация: нет Всего: нет |
Я вот получаю
при попытке запустить шото скомпиленное под 6-ю на 5-й. Вроде как так и должно быть, нет? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |