|
|
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
Помогите справиться с JDK 1.5 Загрузил JDK 1.5 ( точнее 1.5.0_01_b08) 1) При инсталляции : после установки jdk инсталлятор предложил еще установку standalone jre - зачем это, ведь если посмотреть в каталоге jdk и так есть каталог c jre. Ну на всякий случай я выполнил и эту установку.Просто, хотелось бы понять - зачем и что это предалгается. Т.е. Инструкция по инсталляции говорит : Private vs. public JRE - Installing the JDK installs a private J2SE Runtime Environment (JRE) and optionally a public copy. The private JRE is required to run the tools included with the JDK. It has no registry settings and is contained entirely in a jre directory (typically at C:\Program Files\jdk1.5.0\jre) whose location is known only to the JDK. On the other hand, the public JRE can be used by other Java applications , is contained outside the JDK (typically at C:\Program Files\Java\jre1.5.0), is registered with the Windows registry (at HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft), can be removed using Add/Remove Programs, might or might not be registered with browsers, and might or might not have java.exe copied to the Windows system directory (making it the default system Java platform or not). что значит On the other hand, the public JRE can be used by other Java applications ? Что это за другие, а как же еще может быть ? 2) В JBuilderX подцепил этот jdk1.5 в Configure JDKs, указав путь к JDK1.5 каталогу, после чего в проектах при перекомпиляции получились след ошибки ( знает кто-нибудь, как быть ) : "Untitled1.java": cannot access java.lang.Object,bad class file: D:\WEB\Java\jre1.5.0_01\lib\rt.jar\java\lang\Object.class,class file has wrong version 49.0, should be 48.0,Please remove or make sure it appears in the correct subdirectory of the classpath. at line 5, column 26 "PrimitiveType.java": cannot access java.lang.String,bad class file: D:\WEB\Java\jre1.5.0_01\lib\rt.jar\java\lang\String.class,class file has wrong version 49.0, should be 48.0,Please remove or make sure it appears in the correct subdirectory of the classpath. at line 4, column 29 "Untitled1.java": cannot resolve symbol: class String in class HelloJdbc.OpEquals at line 6, column 27 "Untitled1.java": cannot resolve symbol: class String in class HelloJdbc.OpEquals2 at line 45, column 27 "PrimitiveType.java": reference to == is ambiguous; both method ==(int,int) in and method ==(java.lang.Object,java.lang.Object) in match at line 8, column 32 "PrimitiveType.java": cannot access java.lang.System,bad class file: D:\WEB\Java\jre1.5.0_01\lib\rt.jar\java\lang\System.class,class file has wrong version 49.0, should be 48.0,Please remove or make sure it appears in the correct subdirectory of the classpath. at line 9, column 13 "HelloJdbc.java": cannot access java.net.URL,bad class file: D:\WEB\Java\jre1.5.0_01\lib\rt.jar\java\net\URL.class,class file has wrong version 49.0, should be 48.0,Please remove or make sure it appears in the correct subdirectory of the classpath. at line 3, column 17 Пробовал также создать в каталоге D:\WEB\Java\jdk1.5.0_01\bin> файл SamePackage.java Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. Если это же проделать в каталоге, где установлен standalone jre D:\WEB\Java\jre1.5.0_01\bin\ , то все проходит нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2005, 16:31 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
1. jdk использует код написанный на java. Например, "javaс.ехе params" просто выполняет комманду "java xxx params", где ххх имя класса, который, собвственно, и осуществляет компиляцию. Для выполнения такого кода, устанавливается private jre. public jre используется для загрузки тех же самых апплетов или запуска java приложений. private jre позволяет держать в работоспособном состоянии несколько jdk на одной машине (например, у меня стоит 7 версий jdk и я могу легко выбрать в Idea, какой из них скомпилировать код и затем выполнить). 2. JBuilderX не пользовался. Как минимум нужно убедиться, что он может работать с java1.5. Если может, убедиться что нигде не стоят опции source level 1.4/1.3. 49 - это число в заголовке класс файла, указывающее на версию формата байткода. 48 - было у 1.4. 3. при попытке компиляции выходит : D:\WEB\Java\jdk1.5.0_01\bin>javac SamePackage.java Если это же проделать в каталоге, где установлен standalone jre D:\WEB\Java\jre1.5.0_01\bin\ , то все проходит нормально. Оба пути одинаковые... Опечатка? SamePackage.java компилится без проблем. Откуда у тебя возникает OutOfMemory не понятно. Возможно баг jdk. Напиши что за OS/сpu у тебя, может быть кто-то с такой же конфигурацией не поленится и попробует воспроизвести эту ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2005, 17:13 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
О, с путями всё ок. Вообще говоря, скомпилировать класс в папке с jre - нельзя, т.к. там нет компилятора (javac). Тот факт, что это удалось, означает, что javac.exe был найден по одному из путей прописанных в path. Если у тебя кроме jdk1.5, установлен jdk1.4, то возможно используется javac последнего и поэтому нет проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2005, 17:23 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
За ответ спасибо. Вообще говоря, скомпилировать класс в папке с jre - нельзя, т.к. там нет компилятора (javac). > Я тоже думал, что нет, оказывается - есть javac для standalone jre1.5. в его папке bin. JBuilderX не пользовался. Как минимум нужно убедиться, что он может работать с java1.5. > Так я еще и JDeveloper также пытался побороть - та же проблема вылезает. И потом простой приведеный тест, который не заработал, говорит, что не в IDE дело. Налицо какое-то несоответствие версий, но вот чего с чем - не могу понять. ( точне понятно, что 1.4 и 1.5 конфликтуют, но вот откуда они берутся? ) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. Может они мешают как-то? Люди, подскажите, плиз, - Как не запутаться в таком окружении ? PS. Кстати, у тебя-то jdk1.5 стоит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2005, 19:14 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
kefiЛюди, подскажите, плиз, - Как не запутаться в таком окружении ? JBuilder -> выкинуть JDeveloper -> аналогично Оставить JDK 1.4. Оракловые явы из classpath убрать. Изучать матчасть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2005, 19:50 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
у меня-то стоит. и всё прекрасно крутится. в jre1.5.0_01\bin никакого javac нет. путь, по которому у тебя установлена 1.5 отличаются от стандартного. может ты случайно промахнулся и установил jre и jdk в одну папку и в итоге возникла "путаница"? для чистоты эксперимента, стоит всё удалить, переинсталить и проверить. если не поможет, будем думать дальше :) - JBuilderX продукт полуторогодовалой свежести (xx.11.03). java1.5 живёт полгода. Не удивлюсь, если они просто напросто не могут дружить. Любители билдера тебе лучше расскажут :) Jbuilder2005 должен всё уметь. JDeveloper тоже не вчера родился. IntellejIdea4.5 одна из первых IDE, что стала поддреживать синтаксис 1.5 :) Попробуй поставить эту прелесть, или хотя бы netbeans - который заведомо поддерживает 1.5. (+ toad или SQLNavigator, что бы лазить по ораклу :), если сочтёшь имеющиеся в IDE плагины для работы с db плохими). Готов поспорить, что проблемы с версиями/компиляцей исчезнут. - запущенные процессы java в целом никак не влияют друг на друга и на то, что ты делаешь (для каждого создаётся своя jvm, кроме тормозов, никакого вреда они принеси не могут). p/s/ На счёт перменных окружения Timm прав, чем их меньше - тем лучше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2005, 20:03 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
2 Timm > JBuilder -> выкинуть JDeveloper -> аналогично Ну Вы хоть мне кроме блокнота что-нибудь посоветовали бы . 2 NotGonnaGetUs > в jre1.5.0_01\bin никакого javac нет. > да , это так - пересмотрел еще раз. может ты случайно промахнулся и установил jre и jdk в одну папку и в итоге возникла "путаница"? > нет , я же выше два раза написал эти пути - они разные у меня. для чистоты эксперимента, стоит всё удалить, переинсталить и проверить. если не поможет, будем думать дальше :) > ну jdk1.5 я переустановил пару раз. А что касается IDE, то это не так просто - больно долго у сложно инсталлятор Oracle работает, я просто боюсь, что будут сбиты множество его различных установок, да и JDeveloperX - тоже не пушинка. JBuilderX продукт полуторогодовалой свежести (xx.11.03). java1.5 живёт полгода. JDeveloper тоже не вчера родился.> Ну JDeveloper-то как раз скачал я вчера ;) с январьскими этого года правками, правда там расчет на jdk1.4 в Install Guide. Просто, подумалось, почему бы ему с1.5 не работать. p/s/ На счёт перменных окружения Timm прав, чем их меньше - тем лучше :) > Т.е. Вы хотите сказать , вообще CLASSPATH не нужно, IDE все-равно свои в команде вызова указывают через -classpath .... ? Скажем Timm советует Оракловые явы из classpath убрать. , ну а если они нужны будут каким-ни серверным приложениям на Oracle Application Server'е ? IntelliJ IDEA 4.5 попробую попробовать, качать долго ,правда, да и триал опять же(30дн)! ------------------------------------------ Только , насчет IDE, как я уже говорил выше, не должны они влиять, - поскольку тестовый пример(SamePackage.java) не проходит - без всякой IDE ! Сейчас, вот посмотрел в панельке Java Control Panel, что от standalone JRE образовалась, в Java Applications runtime settings стоит в JNLP Runtime Settings : Java Runtime Versions : 1.4. и 1.5 - сделал Enabled только 1.5 - проверил вышеприведеный пример с SamePackage.java - та же ошибка ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2005, 22:20 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
Кстати, посмотрел сейчас idea 4.5 : http://www.jetbrains.com/idea/download/system_requirements.html так тоже написано про jdk 1.4 (где 1.5 ?). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2005, 22:38 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
2 NotGonnaGetUs > в jre1.5.0_01\bin никакого javac нет. > да , это так - пересмотрел еще раз. отлично. значит корректо работающий javac был из оракловской jdk1.3. На счёт перменных окружения Timm прав, чем их меньше - тем лучше :)> Т.е. Вы хотите сказать , вообще CLASSPATH не нужно, IDE все-равно свои в команде вызова указывают через -classpath .... ? именно так. Скажем Timm советует Оракловые явы из classpath убрать. , ну а если они нужны будут каким-ни серверным приложениям на Oracle Application Server'е ? Утверждать не стану, но думаю, что оракловые приложения найдут то, что им нужно. В случае чего, всегда можно ручками подправить bat-файлы стартующие App Server. IntelliJ IDEA 4.5 попробую попробовать, качать долго ,правда, да и триал опять же(30дн)! eap версии, которые можно скачать отсюда (нужно зарегаться) http://www.intellij.net/auth.jsp снабжаются ключём, новые билды выходят часто, ключи поэтому всегда в наличии :) весит 45мб, если качать без jre - то ещё меньше. Только , насчет IDE, как я уже говорил выше, не должны они влиять, - поскольку тестовый пример(SamePackage.java) не проходит - без всякой IDE ! Ну что тут можно сказать. Запусти javac c ключём -verbose. Посмотри где всё загибается. Убедись, что используется javac из jdk1.5 (вывод javac -help совпадает с этим) C:\Program Files\Java\jdk1.5.0_01\bin>javac -help Usage: javac <options> <source files> where possible options include: -g Generate all debugging info -g:none Generate no debugging info -g:{lines,vars,source} Generate only some debugging info -nowarn Generate no warnings -verbose Output messages about what the compiler is doing -deprecation Output source locations where deprecated APIs are u sed -classpath <path> Specify where to find user class files -cp <path> Specify where to find user class files -sourcepath <path> Specify where to find input source files -bootclasspath <path> Override location of bootstrap class files -extdirs <dirs> Override location of installed extensions -endorseddirs <dirs> Override location of endorsed standards path -d <directory> Specify where to place generated class files -encoding <encoding> Specify character encoding used by source files -source <release> Provide source compatibility with specified release -target <release> Generate class files for specific VM version -version Version information -help Print a synopsis of standard options -X Print a synopsis of nonstandard options -J<flag> Pass <flag> directly to the runtime system Я бы заменил тестовый пример на "нормальный". Что бы имя класса соответствовало имени файла. Что бы класс был паблик. Могу сказать точно только одно: ошибка, которую ты наблюдаешь при компиляции, есть только у тебя. Сейчас, вот посмотрел в панельке Java Control Panel, что от standalone JRE образовалась, в Java Applications runtime settings стоит в JNLP Runtime Settings : Java Runtime Versions : 1.4. и 1.5 - сделал Enabled только 1.5 - проверил вышеприведеный пример с SamePackage.java - та же ошибка ! JNLP относится к запуску java web start приложений. На компиляцию эта настройка и все остальные, что есть в JavaControlPanel, не влияет. Ещё раз: запуск javac делается из консоли (сmd.exe), c текущей папкой 1.5.0_01\bin. XXX.java лежит в папке bin. для начала скомпиль простой класс: Код: plaintext 1. 2. 3. 4. 5. 6. Будут вылазить ошибки - копируй сюда лог консоли полностью... Кстати, посмотрел сейчас idea 4.5 : http://www.jetbrains.com/idea/download/system_requirements.html так тоже написано про jdk 1.4 (где 1.5 ?). Idea написана на java. Для её запуска тербуется jdk не ниже версии 1.4. Idea можно скачать вместе с интегрированной jdk, либо без. В этом кроется смысл требований. Лучше скачивать "полный" набор. Надёжнее будет работать. Вот ссылка на "фичи" idea4.5, а не мин.требования: http://www.jetbrains.com/idea/features/newfeatures.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2005, 00:28 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
Да , после того , как очистил полностью свой CLASSPATH, в консоли все стало компилиться и запускаться . А до того был кошмар типа : Код: plaintext 1. 2. 3. 4. 5. после того , как очистил CLASSPATH , стало видно , что откуда берется : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Вот только в JBuilderX, JDeveloper остается все по старому. Они видно, кроме jre 1.5 еще свои библиотеки более старых версий jre используют, которые не совместимы с jre1.5 (вроде вообще - то должны бы снизу вверх совмещаться). А вот вопрос - IDEA не сильно тормозная ? Кстати, вопрос попутный - все равно в каком порядке в CLASSPATH следуют пути, возможны ли маскирования одного другим ? (вроде когда-то что-то читал, но уже не помню) ------------------------ В общем, спасибо. Вот только одно меня тревожит - хочу разобраться с работой под Oracle App Server, а там куча компонент - если они начнут мне версии не от jdk1.5 требовать, то тогда придется пути обратно вернуть в CLASSPATH и сидеть на 1.4, а то и вообще на 1.3 ! Да и JDeveloper последний от Oracle вроде удобнее стал и там куча всяких шаблонов для разных серверных компонент, как - то не хотелось бы от него отказываться. Вроде как получается объективная поблема в этом плане - т.е. имеющийся интрументарий разработки навязывает свои условия ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2005, 02:49 |
|
||
|
Помогите справиться с JDK 1.5
|
|||
|---|---|---|---|
|
#18+
kefi Вот только в JBuilderX, JDeveloper остается все по старому. Они видно, кроме jre 1.5 еще свои библиотеки более старых версий jre используют, которые не совместимы с jre1.5 (вроде вообще - то должны бы снизу вверх совмещаться). Это разные ошибки! ОутОфМемори вполне можно было попытаться вылечить, указав компилятору использовать больше памяти : "javac -J-Xmx256M". Не совместимость между JbuilderX и java1.5 - никак не вылечить. Про девелопер ничего не знаю. А вот вопрос - IDEA не сильно тормозная ? Я работаю за p4 2.4/768mb проект из 3000 классов - бывают временные тормза из-за уборки мусора, в целом - всё отлично. Idea делает очень много разных индексов, в итоге с большими проектами работает ощутимо быстрее других сред (eclipse и т.д.). Кстати, вопрос попутный - все равно в каком порядке в CLASSPATH следуют пути, возможны ли маскирования одного другим ? (вроде когда-то что-то читал, но уже не помню) При загрузке поиск нужных классов осуществляется "по порядку". Idea позволяет задать порядок следования jar's в classpath'e. хочу разобраться с работой под Oracle App Server, а там куча компонент - если они начнут мне версии не от jdk1.5 требовать, то тогда придется пути обратно вернуть в CLASSPATH и сидеть на 1.4, а то и вообще на 1.3 ! Разбирайся, я не имел дела с OracleAppServe. Либо смени сервер на Tomcat :) Да и JDeveloper последний от Oracle вроде удобнее стал и там куча всяких шаблонов для разных серверных компонент, как - то не хотелось бы от него отказываться. "На вкус и цвет" (с)... :) Вроде как получается объективная поблема в этом плане - т.е. имеющийся интрументарий разработки навязывает свои условия ? Как сказать. java-приложения обычно легко переносят смену jdk. А вот такие монстры как билдер - действительно создают проблемы. В них слишком тесна интеграция с классами и собственными "примочками". Собственно за это я не люблю такие IDE и всякого рода Visual Studio "сшитые" со своими библиотеками. Хотя случай с IDE и java 1.5. спецефичен. Изменился синтаксис языка, а это, как минимум, куча новых ошибок, которые среда должна уметь "подсветить" + особенности дебага. Idea, которая в сущности просто оболочка над стандартной jdk, очень быстро научилась всё это делать :) -- В конце концов, если ты пишешь "для себя", хочешь выучить java 1.5, поставь тот софт, который работает с 1.5 без проблем. Если есть необходимость разобраться с продуктами оракль - используй ту java - с которой они могут работать. Не нужно пытаться угнатья за двумя зайцами сразу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2005, 12:14 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32949841&tid=2152854]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
140ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 413ms |

| 0 / 0 |
