Запустите проект NetBeans только с помощью ant - PullRequest
18 голосов
/ 27 мая 2009

У меня есть пример кода, который был построен с Netbeans.

В нем есть файл build.xml, поэтому я скачал ant и попытался запустить его.

У меня есть это сообщение об ошибке:

...... nbproject\build-impl.xml:76: Platform is not correctly set up

Насколько я вижу, это исправлено "простой" загрузкой Netbeans и запуском образца оттуда, но ... я не хочу устанавливать его для запуска образца из 10 файлов.

Есть ли обходной путь для запуска проектов Netbeans с Java? Какой правильный файл .properties мне нужно изменить?

Ответы [ 7 ]

12 голосов
/ 27 мая 2009

Это - это возможность запуска сгенерированных проектов NetBeans прямо из Java / ANT, но вам может потребоваться вручную установить некоторые свойства и / или добавить пути к файлам jar.

К сожалению, NetBeans, как правило, включает taskdef, используя свои собственные файлы JAR и справочные свойства, которые определяются только в файлах /nbproject/private/private.properties, которые обычно устанавливаются при первом открытии проекта NetBeans или изменяются при редактировании проекта в IDE. ,

Если вы осмотрите build-impl.xml, вы сможете найти свойство и определить, какое значение необходимо установить (платформа ОС), тогда либо:

  • создать / установить свойство в /nbproject/private.properties
  • добавить это определение свойства в родитель build.xml
  • передать в командной строке при вызове вашего муравья цель используя -DPlatform=Foo

Лично мне нравится структура сгенерированных ANT-файлов в NetBeans и цели, но я ненавижу, как много нестандартных / проприетарных вещей, в которые они вмешиваются, затрудняет работу без NetBeans.

Например:

ant -Dplatforms.JDK_1.7.home=/opt/jdk 
3 голосов
/ 29 августа 2009

Я только что успешно построил проект NetBeans с помощью ant. Вот что я должен был сделать:

  • Скопируйте <NetBeans-folder> / java2 / ant на компьютер "Netbeanless"
  • Скопируйте nbproject / project.properties, скажем, в ant.properties
  • Заменить каждое выражение $ {} в ant.properties его значением
  • Добавить платформу. <platform-name> .home = <path to platform>
  • Добавить libs.CopyLibs.classpath = <path to nb-ant> / extra / org-netbeans-modules-java-j2seproject-copylibtask.jar
  • Добавить другие необходимые пути к классам в javac.classpath (например, путь к servlet-api.jar)
  • ant -propertyfile ant.properties

Это работает, но не делает меня счастливым. Я хотел бы либо найти способ повторно использовать project.properties, либо автоматически перевести его в «разрешенную» версию (шаг 3). Построение может быть автоматизировано.

1 голос
/ 17 ноября 2011

Я только что столкнулся с той же проблемой. Я надеюсь, что смогу избавиться от NetBeans, чтобы отправиться на затмение и Maven, только для этого.

Но вот хорошая ссылка для экспорта проекта, построенного муравьем из NetBeans, в сервер непрерывной интеграции (или может быть в любую другую IDE).

Техника идет довольно хорошо. Вот резюме:

  1. установить netbeans на сервере CI (есть возможность сделать это без графического интерфейса, используйте -silent в установщике netbeans)
  2. включает nbproject в SVN
  3. добавить в список игнорируемых личную папку
  4. создать свою личную папку на сервере CI
  5. сделать так, чтобы он указывал на папку вашего CI-сервера (имитируя личную папку пользователя в учетной записи, используемой для CI)
  6. скопируйте реальную папку от пользователя в эту папку и измените каждый путь (замените строки), чтобы он указывал на вашу установку NetBeans на вашем сервере CI.

И это должно работать.

1 голос
/ 19 сентября 2011

Я только что прошел это упражнение с моим проектом NetBeans 7.0. Я смог скопировать файл build.properties из моего каталога .netbeans \ 7.0 в моей системе Windows и создать файл server.properties для моего сервера сборки. Это не так уж и сложно, поскольку у каждого разработчика build.properties могут отличаться, поэтому следует ожидать наличия другого файла для сервера. Затем я собрал простой файл server-build.xml, который ссылается на этот файл и выполняет только основы init, compile, dist и clean. Я поместил эти два файла в мой CVS-репозиторий на верхнем уровне моего каталога проекта, поскольку они не конфликтуют с другими файлами проекта и служат напоминанием в случае необходимости обновления. Теперь я могу построить свой проект на своем CI-сервере с помощью «ant -f server-build.xml», и все просто работает.

Весь мой раздел инициализации выглядит следующим образом, отдавая приоритет моим путям к серверу, но включая необходимую информацию из свойств проекта NetBeans.

<target name="init">
    <property file="server.properties"/>
    <property file="nbproject/project.properties"/>
</target>

Мне также пришлось сделать нечто подобное при определении задач ant для моих вложенных проектов:

<target name="compile">
    <ant antfile="${project.MyProj-common}/build.xml" inheritall="false" target="jar">
        <property location="${build.dir}" name="dist.ear.dir"/>
        <property file="server.properties"/>
        <property file="${project.MyProj-common}/nbproject/project.properties"/>
    </ant>
    ...
</target>

Мне пришлось скопировать j2ee.platform.classpath из project.properties в мой файл server.properties, чтобы ссылки на j2ee.server.home были разрешены по мере необходимости. Я не ожидал, что это нужно сделать, но в противном случае путь к классу был неправильным, что привело к сбою сборки.

Спасибо за информацию по этому вопросу, поскольку она помогла мне найти решение.

0 голосов
/ 27 июня 2017

Вы можете использовать этот репо только для этого https://github.com/albfan/ant-netbeans

Он преодолевает все странности муравейника netbeans, поэтому вам просто нужно:

Для компиляции:

$ ant.sh compile

Для запуска:

$ ant.sh run

К чему бы то ни было (автозаполнение):

$ ant.sh <tab><tab>
0 голосов
/ 15 октября 2010

Я использую Netbeans 6.8, и java-проекты, созданные с Netbeans, можно запускать из автоматически сгенерированных файлов сборки Netbeans с помощью команды ant. Все обычные цели, такие как ant compile, ant run, ant clean и т. Д., «Просто работают». (Я использую Fedora 13, если это имеет значение)

0 голосов
/ 27 мая 2009

Просто чтобы добавить к Mads ' ответ ... обычно вам нужно установить и открыть Netbeans хотя бы один раз на целевой машине. Проекты ANT также полагаются на несколько настроек из каталога USERDIR / .netbeans / .... Это могло измениться с 6,5 +.

Это настроит некоторые базовые настройки и определит путь к classbath к jar netbeans. Если ваши зависимости (т.е. библиотеки) или проект запускаются из другого каталога с момента последнего открытия проекта в Netbeans, вам потребуется настроить несколько параметров в файле private.properties, как описано Mads.

...