it-swarm.com.ru

Какова структура каталога проекта для отдельного приложения Java SE?

Какова стандартная структура каталогов проекта автономного приложения Java SE (на основе командной строки)? 

Папка src будет содержать все мои файлы .Java в правильно организованных пакетах. Кроме этого у меня есть папка bin, которая будет содержать мои файлы .class

У меня есть файлы свойств и файлы конфигурации XML в моем проекте. В каком каталоге их разместить? Должен ли я создать пакет с именем com.myproject.config и поместить в него все файлы конфигурации .xml?

Я хочу, чтобы зависимые банки были упакованы вместе с моим последним пакетом. Так я должен создать папку (скажем, с именем lib) для хранения всех этих файлов .jar

11
HariShankar

Я бы порекомендовал придерживаться по умолчанию Maven layout (а также использовать maven в качестве инструмента сборки)

Продуктивные занятия/ресурсы:

src/main/Java
src/main/resources

Тестовые данные и классы:

src/test/Java
src/test/resources

Maven также может позаботиться о том, чтобы правильно упаковать ваше приложение со всеми необходимыми банками (Ищите плагин maven Assembly) 

17
Konstantin Pribluda

Обычно используемая структура выглядит следующим образом:

  • src - содержит все ваши исходные файлы и, возможно, следующее (может быть, далеко внизу дерева папок):
    • ресурсы - содержит ресурсы, такие как файлы свойств
    • config - все, что связано с config
  • lib - папка, содержащая ваши библиотеки, возможно размещенная в отдельных подпапках
  • bin - содержит скомпилированные классы
4
DieterDP

Насколько я знаю, стандартной структуры проекта для Java как таковой не существует. Однако различные инструменты и IDE (например, Eclipse) имеют стандартную структуру.

Maven , инструмент для сборки Java, с другой стороны, имеет очень четко определенную (по умолчанию) структуру проекта. Там все исходные файлы Java помещаются в папку src/main/Java, а все файлы ресурсов (например, ваши файлы конфигурации) помещаются в src/main/resources.

Вот очень краткое введение в Maven, если вы еще не знаете его: Maven за 5 минут


Что касается вашего вопроса об упаковке с зависимостями, вот фрагмент из одного из моих файлов Maven POM, который использует 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
rolve

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/(здесь все внешние библиотеки - не забудьте добавить путь к сборке)

* note если вам нужен какой-нибудь файл ресурсов (xml, файл конфигурации и т. д.), создайте пакет .resources. в конкретном месте, где вам нужно (модель, контроллер, вид)

0
Musculaa