Как скомпилировать и запустить java-проект Netbeans в командной строке без файла jar?

У меня есть проект java Netbeans со структурой каталогов:

EMailQueue/
|-build/
|-classes/
|-mailqueue/
|-nbproject/
|-src/
 |-mailqueue/
|-dist/
 |-lib/
|-build.xml
|-maifest.mf

Каталог build/classes/mailqueue/ состоит из всех классов, скомпилированных из всех файлов .java в каталоге src/mailqueue/, а dist/lib/ состоит из всех файлов .jar (кроме JDK), импортированных в файлы приложения.

Я хочу знать, как запустить это приложение без использования файла jar, находящегося в каталоге dist/.

Также я хочу знать, если у меня нет файлов классов, то как скомпилировать файлы .java в src/mailqueue/ для создания файлов классов в каталоге build/classes/mailqueue/.

PS: Пожалуйста, дайте точную команду для запуска в терминале и, возможно, какое-либо объяснение.


person Gautam Singh    schedule 14.03.2015    source источник


Ответы (1)


Чтобы скомпилировать проект Netbeans, вам нужно вызвать инструмент Apache ant и передать им файл сценария сборки с помощью параметра -f, подобного этому

муравей -f ../apppath/build.xml

это сделает полный проект со сборкой файла jar. Если вы посмотрите на файл build.xml, вы увидите, что он указывает только на файл ./nbproject/build-impl.xml, где фактически определены все необходимые действия. Как только никакие параметры не переданы муравью, он вызывает цель по умолчанию

<target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>

Вы видите, что эта задача зависит от трех других. Наибольший интерес вызывает цель «банка».

Look at this target - it depends of other 'compile' target

Чтобы вызвать эту цель напрямую, вам нужно передать эту цель инструменту ant

ant -f ../apppath/build.xml скомпилировать

Это скомпилирует проект, но не упакует их в банку

ant -f ../apppath/build.xml запустить

скомпилирует проект и запустит основной класс

Надеюсь это поможет.

Чтобы скомпилировать свой код с чистой java, вам нужно сначала запустить компилятор java в папке со всеми файлами java, т.е. вызвать javac. javac -cp {путь ко всем файлам библиотеки java и файлам внешних классов} *.java После того, как вы все скомпилировали без ошибок, запустите java таким же образом и передайте им имя вашего основного класса, которое вы хотите запустить java -cp {путь ко всей библиотеке java файлы и файлы внешних классов} ClassName

person Maks    schedule 15.03.2015
comment
Если бы я дал эти файлы кому-то, кто не знает о netbeans, эти команды подошли бы? Короче говоря, Apache ant должен быть установлен до того, как его можно будет использовать в командной строке? Я попробовал это, я получил сообщение о том, что «муравей» является распознанной командой. - person Gautam Singh; 16.03.2015
comment
Да. Ant должен быть установлен. - person Maks; 16.03.2015
comment
Нет ли способа скомпилировать/запустить приложение с помощью команды javac/java? - person Gautam Singh; 17.03.2015
comment
Чтобы скомпилировать свой код с чистой java, вам нужно запустить java compller в папке со всеми java файлами - person Maks; 17.03.2015
comment
@Marks, даже я это знаю, но это не сработало, поэтому я задал вопрос - person Gautam Singh; 18.03.2015