Ant build: невозможно найти tools.jar. Ожидаемое найти его в C:\Program Files\Java\jre7\lib\tools.jar

Я знаю, что этот вопрос популярен, но ни один из решений не может мне помочь. Я использовал этот, этот, этот и , но никто мне не помогает.

Я хочу реализовать тесты uiautomator и мне нужно построить файл build.xml с ant, но получить эту странную ошибку.

Я использую Windows 8.1

Системная переменная My JAVA_HOME установлена ​​в c:\programs files\java\jdk1.7.0_51 и в c:\programs files (x86)\java\jdk1.7.0_51

Системная переменная My PATH также установлена ​​в% JAVA_HOME%/bin, для моего% ANT_HOME% установлено значение c:\apache- ant.

Но когда я выполняю ant сборку в android app derictory, я получаю

unable to locate tools.jar. Expected find it in C:\Program Files\Java\jre7\lib\tools.jar
BUILD FAILED
Perhaps JAVA_HOME does not point to the JDK

Но мой JAVA_HOME указывает на правый JDK! Я смутился этим. Я также несколько раз перестраиваю сборку, у меня то же самое.

Будет рад, если кто-нибудь поможет мне.

Ответы

Ответ 1

Я решил проблему с установкой% JAVA_HOME% на начало PATH. Это сработало для меня, когда я поставил его точно к началу.

Ответ 2

У меня тоже была эта проблема и решил ее, установив такие переменные:

[1] ANT_HOME - C:\apache-ant-1.9.3

[2] JAVA_HOME - C:\Program Files\Java\jdk1.7.0_21

[3] PATH - D:\Android_Development\android_sdk\platform-tools\;%ANT_HOME%\bin;%JAVA_HOME%\bin;D:\Android_Development\android_sdk\tools

Примечание. Установите все эти параметры в системных переменных не в пользовательских переменных.

Это решило мою проблему.

Надеюсь, что это поможет.

Ответ 3

Чтобы восстановить эти проблемы, вы можете просто скопировать tools.jar из "C:\ProgramFiles\Java\jdk1.7.0\lib" непосредственно в "C:\Program Files\Java\jre7\lib \". восстановить проблемы.

Это работает!..

Ответ 4

Что касается tools.jar, я испытал следующее: при загрузке ant он появился с открытым java 7. Однако система, которую я загрузил, использует Java 8 u 40 ( версия Oracle). Поэтому, когда я указал lib/jre через softlink в linux, на место tools.jar, я получил ошибку, что теперь версия /subversion не соответствовала. Это потому, что ant использовал версию 7, а tools.jar от Oracle теперь была версией 8.

Решением было использовать вышеупомянутую справку (с установкой JAVA_PATH стать моей Oracle версией 8u40 Java), так что компилятор и tools.jar имеет ту же версию.

В сценарии, в котором я участвую, поэтому загружен jdk, поскольку он пришел из Oracle в каталог /home/david/Desktop/Android 5.0/jdk1.8.0u40 - пакеты Android, когда они вошли в /home/david/Desktop/Android 5.0, мое рабочее пространство Eclipse в /home/david/workspace - и теперь я надеюсь, что вам лучше идти.

Файл ant -file build.xml помещается в каталог /home/david/workspace - и он выглядит следующим образом:

<project>
    <target name="clean">
        <delete dir="build"/>
    </target>

    <target name="compile">
        <mkdir dir="build/classes"/>
        <javac srcdir="src" destdir="build/classes"/>
    </target>

    <target name="jar" depends="compile">
        <mkdir dir="build/jar"/>
        <jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">
            <manifest>
                <attribute name="Main-Class" value="oata.HelloWorld"/>
            </manifest>
        </jar>
    </target>

    <target name="run" depends="jar">
        <java jar="build/jar/HelloWorld.jar" fork="true"/>
    </target>

</project>

java файл в этом вопросе - HelloWorld.java, помещается в каталог /home/david/workspace/build/src/oata - и теперь он компилируется в пункт назначения, который вы можете видеть выше, и оттуда банку файл также создается.

Правда - существуют методы, при которых одна версия Java может претендовать на роль другой, но я не хотел туда идти, потому что я настраиваю среду сборки, где я могу делать выдержки из репозитория, и сохранение встроенного кода на сайт загрузки.

Вышеприведенный пример build.xml слегка изменен из следующего учебника ant для сборки: https://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html

Ребята - надеюсь, что это сработает и для вас, потому что ant - действительно один из лучших способов построения, поскольку вы можете вызвать его из командной строки, вы можете сначала выбрать файлы из хранилища (GitHub или BitBucket и т.д.), а затем вы можете FTP скомпилированный результат на ваш предпочтительный сайт загрузки для разработчиков, вы можете закрепить этот код таким образом, чтобы версия была готова и застряла в худшем случае...

Ответ 5

Скопируйте tools.jar из C:\Program Files\Java\jdk1.8.0_91\lib и pate в C:\Program Files\Java\jdk1.8.0_91\bin. Это сработало для меня в моем случае

Ответ 6

  • Установите в систему -переменные:

    • JAVA_HOME: C:\Program Files\Java\jdkVERSION
    • ANT_HOME: C:\Program Files\apache- ant -VERSION
    • PATH:% JAVA_HOME%\bin;% ANT_HOME%\bin;... (в начале переменной PATH)
  • Удалите все, что связано с Java/ Ant с пользователем -variables

  • Перезапустите командную строку (!), чтобы получить новые переменные в контексте исполняемого экземпляра.

Ответ 7

Проверьте значение переменной JAVA_HOME и PATH, иногда вы можете помещать

JAVA_HOME="C:\Program Files\Java\jdk1.8.0\bin" .

вместо

JAVA_HOME="C:\Program Files\Java\jdk1.8.0" .

и PATH=%JAVA_HOME%\bin;%PATH% .

просто выделите переменную PATH в CLI.

echo %PATH%.