Какова структура каталога проекта для автономного приложения Java SE?
Какова стандартная структура каталога проектов автономного приложения Java SE (на основе командной строки)?
src
папка будет содержать все мои файлы .java
в правильно организованных пакетах. Помимо этого у меня есть папка bin
, которая будет содержать мои файлы .class
.
У меня есть файлы свойств и файлы конфигурации XML в моем проекте. В какой директории я должен разместить их? Должен ли я создать пакет с именем com.myproject.config
и поместить в него все файлы конфигурации .xml
?
Я хочу, чтобы зависимые банки были упакованы вместе с моим окончательным пакетом. Так что я должен создать папку (например, по имени lib
), чтобы хранить все эти файлы .jar
?
Ответы
Ответ 1
Я бы рекомендовал придерживаться стандартного Maven макета (а также использовать maven как инструмент сборки)
Производственные классы/ресурсы:
src/main/java
src/main/resources
Данные и классы тестов:
src/test/java
src/test/resources
Maven также может позаботиться о том, чтобы правильно упаковать ваше приложение со всеми необходимыми банками
(ищите плагин сборки maven)
Ответ 2
Насколько я знаю, для Java нет такой вещи, как стандартная структура проекта. Однако различные инструменты и IDE (например, Eclipse) имеют стандартную структуру.
Maven, с помощью инструмента построения Java, с очень четко определенной (по умолчанию) структурой проекта. Там все исходные файлы Java помещаются в папку src/main/java
, и все файлы ресурсов (например, ваши файлы конфигурации) помещаются в src/main/resources
.
Вот очень быстрое введение в Maven, если вы еще этого не знаете: Maven через 5 минут
Что касается вашего вопроса об упаковке с зависимостями, здесь вырезано из одного из моих файлов MOM Maven, в котором используется Assembly Plugin для создания JAR файл со всеми зависимостями:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>...</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
Ответ 3
Обычно используемая структура выглядит следующим образом:
- src - содержит все ваши исходные файлы и, возможно, следующее (может быть далеко от дерева папок):
- resources - содержит ресурсы, такие как файлы свойств
- config - все связанные с конфигурацией
- lib - папка, содержащая ваши библиотеки, возможно, размещенные в отдельных подпапках
- bin - содержит скомпилированные классы
Ответ 4
src/com.enterprise_name.project_name. Main.java(основной класс)
src/com.enterprise_name.project_name.model. (здесь все классы моделей)
src/com.enterprise_name.project_name.view. (здесь все классы просмотра, JFrame, Jdialog и т.д.)
src/com.enterprise_name.project_name.view.resources. (здесь все файлы и изображения, используемые в представлениях * note)
src/com.enterprise_name.project_name.controller. (здесь все классы контроллера)
lib/ (здесь все внешние библиотеки - не забудьте добавить путь сборки)
* note, если вам нужен файл ресурсов (xml, файл конфигурации и т.д.), создайте пакет .resources. в определенном месте, где вам нужно (модель, контроллер, просмотр)