создание файла сборки с помощью ant - PullRequest
1 голос
/ 01 августа 2010

Я пытаюсь проработать пример HelloWorld в Интернете, который показывает, как создать файл сборки с помощью ANT в Eclipse.Это файл сборки проекта из веб-примера

<?xml version="1.0" encoding="UTF-8"?>
<project name="HW.makejar" default="makejar" basedir=".">
    <target name="makejar" description="Create a jar for the HW project">
        <jar jarfile="HelloWorld.jar" includes="*.class" basedir="."/>
    </target>
</project>

Но когда я запускаю полученный jar, я получаю это сообщение об ошибке, не удалось загрузить атрибут манифеста Main-Class из HelloWorld.jar.

Итак, я попробовал это так:

<?xml version="1.0" encoding="UTF-8"?>
<project name="HW.makejar" default="makejar" basedir=".">
    <target name="makejar" description="Create a jar for the HW project">
        <jar jarfile="HelloWorld.jar" includes="*.class" basedir=".">
            <manifest>
                <attribute name="Main-Class" value="ami.HelloWorld" />
            </manifest>
        </jar>

    </target>
</project>

Когда я перезапустил полученную банку, я получил следующее сообщение об ошибке:

Exception in thread "main" java.lang.NoClassDefFoundError: ami/HelloWorld

Что я делаюнеправильно.Кстати, когда я вручную скомпилирую исходный код и укажу Main.class в Eclipse, полученный jar отлично работает.

Ответы [ 2 ]

2 голосов
/ 01 августа 2010

Содержит ли ваш jar-файл файлы классов?Если нет, попробуйте:

<jar jarfile="HelloWorld.jar" includes="**/*.class" basedir=".">
0 голосов
/ 01 августа 2010

Является ли ваш основатель правильным?Если вы jar tvf HelloWorld.jar, указан ли класс HelloWorld.class в папке ami?Если он указан непосредственно в корневом каталоге, его необходимо добавить из родительской папки, а не из папки ami.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...