1

Java ソース ツリーと jar ファイルの基本構造を理解しています。

com
  example
    mypackage
      myclass1.java
      myclass2.java

しかし、ビットマップまたは html ファイルがある場合、それらを配置する場所に関する規則はありますか?

ui過去に、ソース ツリーのルートにディレクトリを追加しました(たとえば、com上記のディレクトリの兄弟ディレクトリ)。しかし、これは「卑劣」に感じます。技術的には、「ui」パッケージが存在する可能性があります。

4

3 に答える 3

3

私は、Java ソース ファイルとは別のリソース ディレクトリを持つ Maven アプローチを好みます。

my-app
|-- pom.xml
`-- src
    |-- main
    | `--- resources <-- Resources go here (sibling directory of java)
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

より「エンタープライズ」なアプローチが必要な場合は、かなり前に Sun によって開発された「エンタープライズ アプリケーションのプロジェクト規則」を使用してください。私の知る限り、これをある程度 (またはすべて) 実装しているのは Netbeans IDE だけです。

実行時には、すべてのリソースがMETA-INFディレクトリにある必要があります。サブディレクトリもあるかもしれませんが、ソースコードの編成とは異なり、このあたりは十分に合意できていると思います。

于 2011-06-07T14:27:54.620 に答える
0

私はどんな慣習も知りません。個人的には、すべてのものを data/ ディレクトリに置きます。

このようなパッケージがあったとしても、クラス ファイルと競合するファイルが存在する可能性は非常に低いです。

于 2011-06-07T14:21:17.633 に答える
0

Maven を使用する場合は、よく採用されているプロジェクト構造 (単一の WAR モジュール) を使用することが推奨/強制されます。

.
├── pom.xml
└── src
    └── main
    ├── java
    │   └── com
    │       └── example
    │           └── Test.java
    ├── resources
    │   └── com
    │       └── example
    │           └── data.csv
    └── webapp
        ├── public.png
        └── WEB-INF
            ├── hidden.jsp
            └── web.xml

いくつかのヒント:パッケージdata.csvと同じディレクトリに配置すると、Test.javaこのファイルを内部で簡単に開くことができますTest.java(データ ファイルは複数のディレクトリにあるため、すべてを順番に保つことができます)。

getClass().getResource("data.csv");  //will only work in com.example package

Maven は/src/main/resources自動的に CLASSPATH にコンテンツを配置します。/webappサブディレクトリは、WAR ファイルにのみ使用されます。

于 2011-06-07T14:29:08.277 に答える