Проект ANT и Netbeans GUI как исполняемый файл JAR не может найти основной класс - PullRequest
2 голосов
/ 22 апреля 2011

Я не могу получить сообщение об ошибке основного класса при попытке запустить файл JAR.Я использую Netbeans 6.9.1 с каркасом GUI, и часть моего файла ANT:

<target name="makeJar" depends="compile">
    <delete file="${build.home}/izvrsniProgram.jar"/>
     <jar update="true" destfile="${build.home}/izvrsniProgram.jar" basedir="${build.classes}">
        <zipfileset dir="${lib}" includes="**/*.jar"/>
        <manifest>
            <attribute name="Main-Class" value="oat.DesktopApplication2 "/>
            <attribute name="stos" value="jeste"/>
        </manifest>
    </jar>
</target>

<target name="runJAR">
    <java jar="${build.home}/izvrsniProgram.jar"/>
</target>

Файл манифеста находится в JAR, ANT_HOME уже установлен, "lib" содержит jar GUIфреймворк.Пожалуйста, помогите мне решить эту проблему ... потому что я думаю об этом днем ​​и ночью и не могу найти, что я сделал не так.

1 Ответ

1 голос
/ 27 июня 2011

То, что бросается в глаза, это то, что вы вызываете задачу 'zipfileset' внутри задачи 'jar'. Если вы пытаетесь сжать файл jar, вы можете добиться этого, используя атрибуты «compress» и «level» в задаче «jar».

Со страницы руководства для задачи 'jar' на сайте Ant ...

Сжатие - не только хранить данные, но также сжать их, по умолчанию true. Если вы не установите keepcompression атрибут false, это будет применяться к весь архив, а не только файлы вы добавили при обновлении.

уровень - уровень не по умолчанию, на котором файл сжатие должно быть выполнено. действительный диапазон значений от 0 (нет сжатие / самый быстрый) до 9 (максимум сжатие / медленный). Так как Муравей 1.7

или если вы просто пытаетесь добавить зависимые jar-файлы в один zip-архив (почему?), Вы можете сначала попытаться заархивировать jar-файлы в каталог сборки, а затем включить заархивированный файл с набором файлов.

...