Eclipse: Розчарування в Java 1.7 (бібліотека без обмежень)


76

У мене проблеми з новим проектом у новій інсталяції Eclipse. Повторні кроки:

  1. Завантажте цю версію Eclipse: http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliosr

  2. Розпакуйте файл c: \ program files \ eclipse java

  3. Запуск Eclipse; вибрати робочу область

  4. Файл > Створити > Проект Java

  5. Назва проекту: Hello World . JRE: "Використовувати середовище виконання JRE: JavaSE-1.7"

  6. Натисніть Далі , перейдіть на вкладку Бібліотеки. Єдиний запис - це системна бібліотека JRE [JavaSE-1.7] (незв’язана) . Що означає "незв'язаний"? Як це виправити?

  7. Натисніть Готово .

Очікується: Новий проект працює нормально.

Фактично: Є дві помилки:

The project cannot be built until build path errors are resolved HelloWord  Unknown Java Problem
Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'HelloWord' HelloWord  Build path Build Path Problem

Що я тут роблю не так?

Оновлення: Можливо, у мене насправді немає Java 7 JDK на моїй машині. Як я можу бути впевненим?

Оновлення 2: Схоже, Java 7 насправді ще не вийшла. Солодкий.


9
Це питання слід відкрити знову. Я думаю, це зараз дуже актуально зараз, коли Java 7 вийшла. Раніше в моєму затемненні була налаштована Java 6, і відповідь нижче мені дуже допоміг. Я думаю, що багато людей також переживають це.
Ardee Aram

8
Відправлення голосування для відновлення. Це саме те, що я шукав.
Ділан,

2
Це допомогло мені більше двох років після того, як про це попросили. Має бути відкритим знову. Наскільки я бачу, це навряд чи "занадто локалізовано"
Марсбард,

2
+1 при повторному відкритті, це мені безпосередньо допомогло
талант

Нещодавно я також стикався з цим, починаючи з 1,7 до 1,8. Здається, версія не має значення. Eclipse використовує якусь версію CDC-1.0 Foundation, яка з якихось причин позначається як 1.6 (навіть коли вона становить 1.8). Змінивши його для використання моєї встановленої системи JRE (вона ж Альтернативна JRE), виправлено дивні попередження про конфлікти, які я отримував. І це було на новій новій інсталяції Eclipse Neon. Це повинно було виявити мої системні JRE при першому запуску.
Алекс Саммерс

Відповіді:


106

1) Дізнайтеся, де на вашому диску встановлено java, відкрийте підказку cmd, перейдіть до цього місця та запустіть ". \ Java -version", щоб дізнатися точну версію. Або, просто, перевірте модуль додавання / видалення на панелі управління.

2) Після того, як ви фактично встановите jdk 7, вам потрібно повідомити про це Eclipse. Вікно -> Налаштування -> Java -> Встановлені JRE.


17
Варто додати, що на панелі налаштувань "Встановлені JRE" ви можете просто натиснути кнопку "Пошук", щоб автоматично знайти JDK 7, якщо він встановлений.
Thunderforge

2
На Ubuntu 12.04 я знайшов встановлені jdks у / usr / lib / jvm
Джеффрі Мартінес

Моє налаштування jdk8 + Eclipse 3.7. Проблема "Системна бібліотека JRE [JavaSE-1.7] (незв'язана)." все ще існують. Eclipse 3.7 не прив'язує jdk8 до середовища Java7. Будь-яка пропозиція?
petertc

10

Щоб встановити JDK, ви можете переглянути це відео: як встановити JDK . Тоді, коли у вас буде JDK:

  1. Клацніть правою кнопкою миші на шляху до збірки та виберіть "Побудувати шлях"
  2. Виберіть "Налаштувати шлях побудови"
  3. Клацніть на "Системна бібліотека JRE [JavaSE-1.7] (незв'язана)"
  4. Редагуйте його
  5. Виберіть "Альтернативний JRE"
  6. Натисніть кнопку "Встановлені JREs .."
  7. Натисніть Додати
  8. Виберіть, щоб додати "Стандартну віртуальну машину"
  9. Виберіть домашній каталог JRE - зазвичай він знаходиться в каталозі "C: \ Program Files \ Java \ jre7"
  10. Натисніть "Готово"
  11. Повторно перевірити нещодавно з’явився «Jre7»: Переконайтеся, що зараз при редагуванні «Системна бібліотека JRE [JavaSE-1.7]» для jre7 вибрано «Альтернативний JRE».

8

1) Перейдіть до налаштування шляху збірки. 2) Видалити незв’язану бібліотеку JRE. 3) Додати бібліотеку -> Системна бібліотека JRE.

Потім компілюємо проект і готово ..


2

Ви дійсно завантажили та встановили одну з основних збірок з https://jdk7.dev.java.net/ ?

Ви можете пограти з функціями, хоча це не стабільно, тому ви не повинні випускати програмне забезпечення проти них.


Схоже, я цього не зробив, якщо тільки він не йде з цією версією Eclipse.
Нік Хайнер

Ні, вам потрібно встановити з цього сайту, він не постачається з Eclipse (чи Eclipse поставляється з JVM у будь-якому випадку?).
Sinjo

2

Більшу частину часу після встановлення Eclipse eclipse.ini змінюється. Якщо ви зміните jdk у eclipse.ini, тоді eclipse використовуватиме цей jdk за замовчуванням.

Скажімо, ви встановили нову версію Eclipse і забули змінити eclipse.ini, пов’язану з jdk. Тоді Eclipse знайде для вас jdk. Скажімо, це було автоматично виявлено java 1.6 (ви нічого не зробили).

Якщо ви використовуєте maven (M2E) і посилаєтесь на 1,7 jdk, ви побачите неприємне повідомлення. Але зазвичай він не відображається, оскільки ви налаштовуєте правильний jdk у eclipse.ini.

Це була моя справа. Я зробив посилання на pom до jdk, який не був налаштований на Eclipse.

На скріншоті ви можете побачити, що 1.7 налаштований і бачений Eclipse. У цьому випадку вам слід зробити посилання в pom на jre, сумісний з 1.7! Якщо ні -> розчарування!

jdk 1.7, налаштований у eclipse.ini та отриманий у встановленому jre


2

Причина: Це поширений сценарій, коли ми імпортуємо новий проект з іншим lib та шляхом JAR.

Я зіткнувся з цією проблемою і вирішив, виконавши такі дії:

  • Проект > Властивості
  • Build Path > Налаштувати шлях побудови
  • Виберіть вкладку "Бібліотеки"
  • Натисніть "Додати бібліотеку"
  • Виберіть "Системна бібліотека JRE" із відображеного списку
  • Натисніть на «Next» , а потім «Готово» кнопку

Це вкаже на правильний і дійсний шлях до вашої системи JRE, що зробило щось для мене. На ура :)


1

Оновлений файл eclipse.ini із властивістю значення ключа -Dosgi.requiredJavaVersion = 1,7 (або) 1,8 залежно від того, що застосовується. - це працює для мене.


1

Оновлений eclipse.iniфайл із властивістю ключ-значення

-Dosgi.requiredJavaVersion=1.5 

до

-Dosgi.requiredJavaVersion=1.8

тому що це моя версія JAVA.

Також вибрано JRE 1.8моєю бібліотекою проектів

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.