Я написал/скопировал простой пример муравья и пытаюсь развернуть Java-прогамму с ним. Мой файл сборки bsp0201.xml
:ant: сгенерированный JAR не может быть выполнен
<?xml version="1.0" encoding="UTF-8" ?>
<project name="bsp0201" default="main" basedir=".">
<property name="dir.src" value="./source" />
<property name="dir.build" value="./classes" />
<property name="dir.lib" value="./lib" />
<path id="cp">
<pathelement path="${classpath}" />
<pathelement location="${dir.build}" />
</path>
<target name="main" depends="prepare, compile, run" />
<target name="prepare">
<mkdir dir="${dir.build}" />
<delete>
<fileset dir="${dir.build}" includes="**/*" />
</delete>
</target>
<target name="compile">
<javac classpathref="cp" destdir="${dir.build}" srcdir="${dir.src}" includes="**/*.java" includeantruntime="false" />
<mkdir dir="${dir.lib}" />
<jar destfile="${dir.lib}/ae.jar">
<fileset dir="${dir.build}" includes="**/*.class" />
</jar>
</target>
<target name="run" if="test">
<java classname="main.GeoAnalyzerMain" classpath="${dir.lib}/ae.jar">
<arg line="${test}" />
</java>
</target>
</project>
Мой муравей коммандос & выходной результат:
# ant -f bsp0201.xml run -Dtest=Echo
Buildfile: /var/www/sandbox/ant/bsp0201/bsp0201.xml
run:
BUILD SUCCESSFUL
Total time: 1 second
Ant создает папки, файлы классов и JAR-файл ae.jar
. Но размер этого JAR-файла составляет всего 19,1 КБ (вместо 297 Кбайт JAR-файла, когда я его создаю с помощью eclipse), и я не могу его выполнить. Что я делаю неправильно?
Thx
Строка говорит, что она успешна, поэтому программа выполнена. Посмотрите содержимое обоих файлов jar и посмотрите, есть ли разница. Может быть, это просто уровень сжатия, который отличается. –
Все ли файлы исходного кода в каталоге './Source'? После запуска сборки в каталоге './Classes' содержатся все скомпилированные классы? –
Вы можете использовать jar -tvf для отображения содержимого файлов jar. –