web-dev-qa-db-ja.com

スタンドアロンJava SEアプリケーションのプロジェクトディレクトリ構造は何ですか?

スタンドアロンJava SE(コマンドラインベース))アプリケーションの標準のプロジェクトディレクトリ構造は何ですか?

srcフォルダーには、適切に整理されたパッケージのすべての.Javaファイルが含まれます。それ以外には、.classファイルを含むbinフォルダがあります。

プロジェクトにプロパティファイルとXML構成ファイルを含めました。どのディレクトリに配置すればよいですか? com.myproject.configという名前のパッケージを作成し、その中にすべての.xml構成ファイルを配置する必要がありますか?

依存するjarを最終的なパッケージと一緒にパッケージ化したい。では、これらすべての.jarファイルを保持するためのフォルダ(たとえば、libという名前)を作成する必要がありますか?

15
HariShankar

デフォルト Maven レイアウトを使用することをお勧めします(また、ビルドツールとしてmavenを使用します)

生産的なクラス/リソース:

src/main/Java
src/main/resources

テストデータとクラス:

src/test/Java
src/test/resources

Mavenは、必要なすべてのjarを使用してアプリケーションを適切にパッケージ化するように注意することもできます(mavenアセンブリプラグインを探します)

18

一般的に使用される構造は次のとおりです。

  • src-すべてのソースファイルと、おそらく以下も含まれます(フォルダーツリーのはるか下にある可能性があります):
    • resources-プロパティファイルなどのリソースが含まれています
    • config-関連するすべての設定
  • lib-個別のサブフォルダーに配置される可能性のあるライブラリを含むフォルダー
  • bin-コンパイルされたクラスが含まれています
4
DieterDP

私の知る限り、Java自体の標準的なプロジェクト構造などはありません。ただし、さまざまなツールやIDE(Eclipseなど))には標準的な構造があります。

Maven は、Javaのビルドツールですが、非常に明確に定義された(デフォルトの)プロジェクト構造を持っています。そこで、すべてのJavaソースファイルはsrc/main/Javaフォルダーとすべてのリソースファイル(構成ファイルなど)はsrc/main/resources

Mavenの簡単な紹介です(まだ分からない場合)。 Maven in 5 Minutes


依存関係を使用したパッケージ化に関する質問に関して、ここでは Assembly Plugin を使用してすべての依存関係を含むJARファイルを作成するMaven POMファイルの1つを抜粋します。

<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。(ここでは、ビューで使用されるすべてのファイルと画像* note

src/com.enterprise_name.project_name.controller。(ここではすべてのコントローラークラス)

lib /(ここにすべての外部ライブラリ-ビルドパスへの追加を忘れないでください)

* noteリソースファイル(xml、configファイルなど)が必要な場合は、パッケージ.resourcesを作成します。必要な特定の場所(モデル、コントローラー、ビュー)

1
Musculaa