Несколько вариантов команды javac

Я отсортировал Java-файлы в подкаталогах, чтобы сделать их более аккуратными, и мне было интересно, можно ли получить доступ к jar-файлам и исходным файлам, а затем поместить файлы классов в другую указанную папку с помощью одной команды javac?

Как правило, у меня есть JAR-файл в / lib, java-файлы в / src и пустая папка с именем / bin, куда должны идти мои файлы классов.

Когда мои файлы java и class были верхнего уровня, и только jar находился в подкаталоге, моя команда терминала для компиляции была:

javac -cp .:./lib/mysql-connector-java-5.1.38-bin.jar Test.java 

Я до сих пор понимаю, что мне нужен -cp, чтобы найти jar, но мне также нужно -d, чтобы указать, где я хочу разместить файлы классов, и -sourcepath, чтобы найти исходные файлы (разве мне не нужен просто src/Test.java?).

Как я смогу сделать это легальным вкладом для терминала?

В связи с этим возникает вопрос: есть ли способ создать скрипт для запуска этой команды javac каждый раз в linux? Это было бы очень приятно знать.

Большое спасибо!

1 ответ

Сначала ответь на твой вопрос

... можно получить доступ к jar-файлам и исходным файлам, а затем поместить файлы классов в другую указанную папку с помощью одной команды javac?

Да. использование -cp указать путь к классу и -d указать каталог назначения. Обратите внимание, что файлы классов будут записаны в подкаталоги целевого каталога в соответствии с иерархией имен пакетов.

Если вы хотите скомпилировать пошагово, рекомендуется включить -d каталог на пути к классам. Для неинкрементной (чистой) сборки удалите все в -d каталог первый.

Как я смогу сделать это легальным вкладом для терминала?

javac -d bin -cp bin:./lib/mysql-connector-java-5.1.38-bin.jar Test.java 

В связи с этим возникает вопрос: есть ли способ создать скрипт для запуска этой команды javac каждый раз в linux?

Каждый раз что?

  • Да, в Linux можно писать скрипты. Относительно легко на самом деле, если вы делаете простые вещи. (Я уверен, что вы могли бы найти некоторые учебники по сценариям оболочки.)

  • Да, можно написать скрипт для запуска javac команда.

  • Да, можно написать скрипт для запуска javac команда и другие вещи... до или после.

  • Это хорошая идея? Решать вам.

Но есть лучшие способы для создания (особенно) больших Java-приложений, чем написание специальных сценариев оболочки. Я рекомендую вам уделить время, чтобы узнать о переносимых инструментах сборки Java, таких как Ant, Maven и Gradle

Другие вопросы по тегам