Я б також запропонував використовувати якийсь інструмент збирання ( Ant або Maven , Ant вже пропонується і простіше почати з нього) або IDE, який обробляє компіляцію (Eclipse використовує інкрементальну компіляцію із узгодженням стратегії, і вам навіть не доведеться обережно натиснути будь-які кнопки "Компілювати" ).
Використання Javac
Якщо вам потрібно спробувати щось для більшого проекту та не маєте належних інструментів збирання поруч, ви завжди можете використовувати невеликий трюк, який javac
пропонує: імена класів для компіляції можна вказати у файлі. Вам просто потрібно передати ім'я файлу javac
з @
префіксом.
Якщо ви можете створити список усіх *.java
файлів у вашому проекті, це легко:
# Linux / MacOS
$ find -name "*.java" > sources.txt
$ javac @sources.txt
:: Windows
> dir /s /B *.java > sources.txt
> javac @sources.txt
- Перевага полягає в тому, що це швидке і просте рішення.
- Недолік полягає в тому, що вам доведеться регенерувати
sources.txt
файл щоразу, коли ви створюєте нове джерело або перейменовуєте існуючий один файл, який легко забути (таким чином, схильний до помилок) і стомлюючим завданням.
Використання інструменту збирання
У довгостроковій перспективі краще використовувати інструмент, призначений для створення програмного забезпечення.
Використання мурахи
Якщо ви створюєте простий build.xml
файл, який описує, як створити програмне забезпечення:
<project default="compile">
<target name="compile">
<mkdir dir="bin"/>
<javac srcdir="src" destdir="bin"/>
</target>
</project>
ви можете скласти все програмне забезпечення, виконавши таку команду:
$ ant
- Перевага полягає в тому, що ви використовуєте стандартний інструмент збірки, який легко розширити.
- Недолік - те, що вам потрібно завантажити, налаштувати та вивчити додатковий інструмент. Зауважте, що більшість IDE (як NetBeans та Eclipse) пропонують чудову підтримку для написання файлів збірки, тому вам не доведеться нічого завантажувати в цьому випадку.
Використання Maven
Мейвен не так банально налаштовувати і працювати, але навчитися цьому добре платить. Ось чудовий посібник для початку проекту протягом 5 хвилин .
- Основна перевага (для мене) полягає в тому, що він також обробляє залежності, тому вам більше не потрібно буде завантажувати файли Jar і керувати ними вручну, і я вважаю це кориснішим для створення, упаковки та тестування великих проектів.
- Недоліком є те, що він має круту криву навчання, і якщо плагіни Maven люблять придушувати помилки :-) Інша справа, що досить багато інструментів також працюють із сховищами Maven (як Sbt for Scala, Ivy for Ant, Graddle for Groovy) .
Використання IDE
Тепер, що може підвищити продуктивність вашої розробки. Є кілька альтернатив з відкритим кодом (наприклад, Eclipse та NetBeans , я віддаю перевагу колишній) і навіть комерційні (наприклад, IntelliJ ), які досить популярні та потужні.
Вони можуть керувати будівництвом проекту у фоновому режимі, тому вам не доведеться мати справу з усіма командними рядками Однак це завжди стане в нагоді, якщо ви знаєте, що насправді відбувається у фоновому режимі, щоб ви могли вишукувати випадкові помилки, як-от ClassNotFoundException
.
Ще одна примітка
Для великих проектів завжди рекомендується використовувати IDE та інструмент побудови. Перший підвищує вашу продуктивність, тоді як другий дає можливість використовувати різні IDE з проектом (наприклад, Maven може генерувати дескриптори проектів Eclipse за допомогою простої mvn eclipse:eclipse
команди). Більше того, мати проект, який можна протестувати / побудувати за допомогою команди одного рядка, легко представити новим колегам, наприклад, на сервері безперервної інтеграції. Шматок торту :-)