Я пытаюсь работать через пример HelloWorld в сети, которая показывает Вам, как создать файл типа "build" с помощью МУРАВЬЯ в Eclipse. Это - файл типа "build" проекта от веб-примера
<?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>
Но когда я выполняю получающуюся банку, я привел это сообщение об ошибке к сбою для загрузки атрибута декларации Основного Класса из 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 какие-либо файлы классов? Если нет, попробуйте:
<jar jarfile="HelloWorld.jar" includes="**/*.class" basedir=".">
Правильно ли ваше основание? Если вы jar tvf HelloWorld.jar
- это класс HelloWorld.class
, указанный в папке ami
? Если он указан непосредственно в корневом каталоге, вам необходимо добавить его из родительской папки, а не из папки ami
.