Вопрос по java, linux, command-line, package – создание пакета Java в командной строке
Хотя, вероятно, рекомендуется использовать IDE для написания расширенных java-проектов, я лично предпочитаю запускать почти полностью из командной строки (используя gedit в качестве текстового редактора). Поэтому, пожалуйста, не говорите мне "Просто используйте затмение!" или что-то: P
Мой вопрос заключается в том, что метод создания пакета в Java с помощью команды.
Я не говорю об упаковке приложения, которое выполняется в командной строке, я говорю о создании пакета в командной строке. Я делаю текстовый файл? Я делаю каталог?
Кроме того, как можно ссылаться на связанных библиотек и нативов без использования IDE?
Я знаю, что мне здесь очень неловко, но я действительно предпочитаю, чтобы управление работало в командной строке.
а:com.mycompany.util
соответствует каталогуcom/mycompany/util
.
При запуске, компиляции и т. Д. Ваш текущий рабочий каталог должен находиться там, где находится верхний каталог.
Чтобы включить библиотеки, включите их в путь к классам при компиляции и запуске. Например, создайте каталог проектаmyproject
а под этим ваши java-файлы и пакеты подmyproject/src/
и библиотеки, которые вы используете подmyproject/libs/
Тогда, когда ваш текущий рабочий каталог -myproject
выполнитьjava -cp .:libs/*.jar
или то же самое сjavac
.
Но я советую тебе использовать муравья или мавена.
(2) указать пакет в файле Java; (3) скомпилируйте его.
Например, если вы хотите создать пакетcom.mycompany.myproject
, тогда вам нужно начать в базовом каталоге для вашего проекта, а затем:
(1) создать каталогcom/mycompany/myproject
(2) создайте java-файлы в этом каталоге, указавpackage com.mycompany.myproject
в них
(3) скомпилируйте файлы, например, с помощьюjavac -cp . com/mycompany/myproject/*.java
Возможно, вы захотите указать другой выходной каталог, чтобы не смешивать исходные коды и скомпилированные классы.
Если вам нужно использовать внешние библиотеки (файлы .jar) для компиляции, тогда вам нужно использовать-cp
или-classpath
параметр командной строки дляjavac
инструмент для их указания, например
javac -cp .:some_library.jar:lib/another_library.java com/mycompany/myproject/*.java
Это может быть хорошей идеей, чтобы поместить все внешние библиотеки в одном месте, например.lib
подкаталог вашего основного каталога проекта. И, кстати, вышеупомянутоеjavac
оманда @ предполагает Unix-подобную среду. Если вы работаете в Windows, вам нужно использовать;
для разделения пути.
используя такой инструмент упаковки, какМураве или Maven. Maven особенно удобен, потому что это инструмент более высокого уровня, который уже знает, как создавать различные типы проектов: приложения командной строки, веб-приложения, библиотеки и т. Д. Он также обрабатывает зависимости библиотек, загружая их из репозиториев.