Скрипт по-разному работает в разных системах - PullRequest
4 голосов
/ 21 февраля 2012

У меня есть сгенерированный по умолчанию муравейный скрипт для моего Java-проекта NetBeans, и он отлично работает на моем рабочем столе Windows, я получил папку dist с lib папка внутри.
Теперь у меня есть те же файлы и папки в системе Debian, и я запускаю ant, но папка dist никогда не содержит файлов зависимостей в папке lib .

Настройки в проекте и т. Д. Верны.

Я использую Ant 1.8.0 с Debian 6.0.3 и Ant 1.8.2 с Windows XP.

Вот скрипт ant, сгенерированный netbeans http://pastebin.com/dk2x8Na1.

Что не так?

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

Я нашел «ошибку»:

Я сравнил файлы журнала и обнаружил проблему:

-do-jar-with-library-pack:
Пропущенопотому что свойство 'do.mkdist' не установлено.

Вы можете найти в файле build.xml следующее:

<condition property="do.mkdist">
    <and>
        <isset property="do.archive"/>
        <isset property="libs.CopyLibs.classpath"/>
        <not>
            <istrue value="${mkdist.disabled}"/>
        </not>
    </and>
</condition>

Кажется, что libs.CopyLibs.classpath не установлен.Существует реализация от NetBeans, которую вы можете найти здесь java / ant / extra .Библиотека называется org-netbeans-modules-java-j2seproject-copylibstask.jar .
Я добавил в свой project.properties следующую запись:

libs.CopyLibs.classpath=tools/org-netbeans-modules-java-j2seproject-copylibstask.jar

После этого все работает нормально и с Debian.

0 голосов
/ 21 февраля 2012

Исходя из моего опыта разработки в среде Windows и последующего развертывания в Linux, есть несколько вещей, которые могут быть проблемой:

  1. Использование путей: всегда скорее используйте / Temp / application / alpha, а не чем C: \ Temp \ application \ alpha - косая черта / эквивалентна двойная косая черта в Windows и совместима с Linux
  2. Убедитесь, что версия Java в Linux такая же и 32/64, как и ваша версия Java для Windows.
  3. Убедитесь, что любые сторонние файлы jar включены в вашу версию Linux Java, например обновления для шифрования и т. д.
  4. Ваш глобальный путь указан правильно. Особенно при выполнении заданий cron.
  5. Попробуйте и по возможности используйте переменные среды Java. Например, для ссылки на временную папку используйте $ {java.io.tmpdir}.

Я попытался ответить на ваш вопрос с очень небольшим количеством информации.

Сможете ли вы предоставить свой сценарий муравья?

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