Недостающие инструменты-1.6.jar с Eclipse и Maven - PullRequest
13 голосов
/ 28 августа 2011

Я пытаюсь запустить проект с использованием Maven в Eclipse, но я получаю эту ошибку ниже. tools.jar находится в папке lib JDK, но tools-1.6.jar, похоже, не существует на моем компьютере. Я использую JDK 1.7, и мой JAVA_HOME указывает на эту папку (как и мой eclipse.ini). Кто-нибудь знает, где я могу получить этот файл или что я могу делать неправильно?

Контейнер Maven Dependencies ссылается на несуществующую библиотеку C:\Users\sejohnson\.m2\repository\com\sun\tools\1.6\tools-1.6.jar

Ответы [ 11 ]

15 голосов
/ 19 октября 2011

Ваш JDK должен предоставить tools-x.y.z.jar.

Убедитесь, что eclipse запускается JDK, а не JRE, добавив параметр -vm в eclipse.ini.

Например:

-vm
C:\Program Files\Java\jdk1.6.0_26\bin\javaw

Новая строка после -vm имеет решающее значение.

должно быть прямо над

-vmargs

См. Также Проблема конфигурации подключаемого модуля Eclipse Maven

13 голосов
/ 25 марта 2013

У меня была точно такая же проблема, и я добавил следующую зависимость в файл pom:

    <dependency>
        <groupId>jdk.tools</groupId>
        <artifactId>jdk.tools</artifactId>
        <version>${java.version}</version>
        <scope>system</scope>
        <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
    </dependency>

Это устранило проблему и сделало tools.jar доступным для плагина QueryDSL в моем проекте.Надеюсь это поможет.Обратите внимание, убедитесь, что вместо JRE используется версия JDK.

Редактировать: Недавно отмечалось, что проблема появилась снова, когда я перешел на новую платформу dev, в моем случае это была Ubuntu 12.10.Исправление было добавить ${JAVA_HOME}/bin к $PATH

5 голосов
/ 18 апреля 2012

Возможно, ваше затмение по умолчанию соответствует 32-битной версии вашего jre. Если вы все делаете правильно с JAVA_HOME, установленным в C: \ Program Files \ Java \ jdk1.6.0_21 \ bin, и тем, что вы используете 32-битную версию Eclipse, вы в конечном итоге будете использовать нечто вроде C: \ Program Files (x86) \ Java \ jre6 \ Bin.

как только вы исправите проблему с jdk Вам нужно будет передать его в конце ярлыка -vm "C: \ Program Files (x86) \ Java \ jdk1.6.0_31 \ bin"

Или исправьте свой JAVA_HOME

Другие предложения заключались в том, чтобы убедиться, что ваше затмение использует jdk not jre http://gamefromscratch.com/post/2011/11/15/Telling-Eclipse-to-use-the-JDK-instead-of-JRE.aspx

Вы найдете другой пост, если будете искать tools.jar или играете в другом проекте с этой распространенной проблемой зависимости maven.

1 голос
/ 11 июня 2015

У меня была такая же проблема, и оказалось, что одна из зависимостей в моем POM-файле транзитивно добавляла зависимость в jar-файл jdk.tools, который мне не нужен (и вызывал проблемы с плагином Eclipse Maven) , Мое решение состояло в том, чтобы исключить это из проблемной зависимости как это:

<dependency>
  <groupId>it.unimi.di</groupId>
  <artifactId>mg4j-big</artifactId>
  <version>${mg4j-big.version}</version>
  <exclusions>
    <exclusion>
      <groupId>jdk.tools</groupId>
      <artifactId>jdk.tools</artifactId>
    </exclusion>
  </exclusions>
</dependency>

Попробуйте найти зависимость, которая транзитивно импортирует jar jdk.tools, и просто исключите, как я делал выше. Это должно решить вашу проблему.

1 голос
/ 29 августа 2011

tools.jar не предоставляется ни в одном публичном хранилище (насколько я знаю).Если ваш pom.xml ссылается на файл в вашем локальном хранилище, вы должны установить его самостоятельно.Используемый вами файл pom.xml, очевидно, ожидает, что кто-то создал / установил jar tools-1.6.jar в приемлемом хранилище Maven (например, для центрального менеджера хранилища maven, такого как Nexus ).

Если это вам не подходит, попробуйте изменить зависимость, как описано в Maven FAQs .

1 голос
/ 28 августа 2011

Можете ли вы проверить ваш pom.xml на наличие зависимостей вокруг инструментов? Хороший источник - mvnrepository.com, наконец, ваш проект компилируется вне затмения? mvn clean compile работает в коробке с досками или в оболочке? Если это произойдет, возможно, вам просто нужно восстановить файлы проекта eclipse с помощью mvn eclipse:eclipse, а затем обновить проект в eclipse

.
0 голосов
/ 06 февраля 2018

В моем случае оказалось, что у меня есть эта зависимость в pom.xml

<dependency>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
            <version>1.6.0</version>
            <scope>system</scope>
            <systemPath>${env.JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>

Однако JAVA_HOME был установлен при запуске Eclipse на JRE вместо JDK .

Таким образом, tools.jar фактически не существует по этой причине

0 голосов
/ 11 июля 2017

Эхо @ Гопал Рамакришнан.У меня была такая же проблема в пути env (ОС Windows).Он имеет «C: \ ProgramData \ Oracle \ Java \ javapath», в котором есть java.exe, таким образом, влияет на фактический путь jdk при запуске затмения.Просто удалите, чтобы решить проблему.Я почти уверен, что оракул "sql developer" тихо добавил "C: \ ProgramData \ Oracle \ Java \ javapath" ...

0 голосов
/ 15 мая 2016

Вот еще один вариант, если у вас возникла проблема со сборкой. У меня была та же проблема сборки, и я попробовал все вышеупомянутые предложения, и проблема все еще была. Затем я заметил, что мой системный путь имеет следующий «C: \ ProgramData \ Oracle \ Java \ javapath» в качестве первого элемента.

Я не уверен, какая программа установила его. И когда я проверил папку, у нее были только некоторые ссылки (ярлыки). Я удалил это из системного пути, и ошибка сборки была решена. Надеюсь, что это поможет кому-то еще в такой же ситуации.

0 голосов
/ 19 февраля 2015

Имея ту же проблему, мне пришлось вручную добавить tools.jar в eclipse: Настройки -> Java -> Установленные JRE -> Выбрать jre -> Правка -> Добавить внешние JAR -> Найти и выбрать tools.jar -> Готово. Теперь это работает.

...