Какова структура каталога проекта для отдельного приложения Java SE?
Какова стандартная структура каталогов проекта автономного приложения Java SE (на основе командной строки)?
src
папка будет содержать все мои .java
файлы в правильно организованных пакетах. Кроме этого у меня есть bin
папка, которая будет содержать мой .class
файлы.
У меня есть файлы свойств и файлы конфигурации XML в моем проекте. В каком каталоге их разместить? Должен ли я создать пакет с именем com.myproject.config
и поместите все .xml
файлы конфигурации в этом?
Я хочу, чтобы зависимые банки были упакованы вместе с моим последним пакетом. Поэтому я должен создать папку (скажем, по имени lib
) держать все это .jar
файлы?
4 ответа
Я бы порекомендовал придерживаться стандартного макета Maven (а также использовать maven как инструмент сборки)
Продуктивные занятия / ресурсы:
src/main/java
src/main/resources
Тестовые данные и классы:
src/test/java
src/test/resources
Maven также может позаботиться о том, чтобы правильно упаковать ваше приложение со всеми необходимыми банками (ищите плагин для сборки maven)
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.(здесь все файлы и изображения, используемые в представлениях * примечание)
SRC / com.enterprise_name.project_name.controller.(здесь все классы контроллеров)
lib /(здесь все внешние библиотеки - не забудьте добавить путь к сборке)
* обратите внимание, если вам нужен какой-нибудь файл ресурсов (xml, файл конфигурации и т. д.), создайте пакет.resources. в конкретном месте, где вам нужно (модель, контроллер, вид)
Обычно используемая структура выглядит следующим образом:
- src - содержит все ваши исходные файлы и, возможно, следующее (может быть, далеко внизу дерева папок):
- ресурсы - содержит ресурсы, такие как файлы свойств
- config - все, что связано с config
- lib - папка, содержащая ваши библиотеки, возможно размещенная в отдельных подпапках
- bin - содержит скомпилированные классы
Насколько я знаю, стандартной структуры проекта для Java как таковой не существует. Однако различные инструменты и IDE (такие как Eclipse) имеют стандартную структуру.
Maven, инструмент сборки для Java, с другой стороны, имеет очень четко определенную (по умолчанию) структуру проекта. Там все исходные файлы Java находятся в src/main/java
папка и все файлы ресурсов (например, ваши файлы конфигурации) находятся в src/main/resources
,
Вот очень краткое введение в Maven, если вы еще не знаете его: Maven за 5 минут
Что касается вашего вопроса об упаковке с зависимостями, вот фрагмент одного из моих файлов Maven POM, который использует плагин Assembly для создания файла 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>