18

独立 Java SE(基于命令行)应用程序的标准项目目录结构是什么?

src文件夹将包含我.java在正确组织的包中的所有文件。除此之外,我还有bin包含我的文件的.class文件夹。

我的项目中有属性文件和 XML 配置文件。我应该将它们放在哪个目录中?我应该创建一个名为com.myproject.config并将所有.xml配置文件放在其中的包吗?

我希望将依赖的 jar 与我的最终包一起打包。那么我应该创建一个文件夹(比如名称lib)来保存所有这些.jar文件吗?

4

4 回答 4

24

我建议坚持使用默认的Maven布局(并且还使用 Maven 作为构建工具)

生产类/资源:

src/main/java
src/main/resources

测试数据和类:

src/test/java
src/test/resources

Maven 还可以使用所有必要的 jar 正确打包您的应用程序(查找 maven 程序集插件)

于 2012-06-12T07:20:48.777 回答
7

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/(这里是所有外部库 - 不要忘记添加到构建路径)

*请注意,如果您需要一些资源文件(xml、配置文件等),请创建一个包 .resources。在您需要的特定位置(模型、控制器、视图)

于 2016-02-29T12:37:48.063 回答
4

据我所知,Java 本身没有标准的项目结构。但是,各种工具和 IDE(例如 Eclipse)确实具有标准结构。

另一方面,Java 的构建工具Maven具有非常明确定义的(默认)项目结构。在那里,所有 Java 源文件都放在src/main/java文件夹中,所有资源文件(如您的配置文件)都放在src/main/resources.

如果您还不了解 Maven,这里有一个非常快速的介绍:Maven in 5 Minutes


关于您关于使用依赖项打包的问题,​​以下是我的一个 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>
于 2012-06-12T07:23:00.147 回答
4

一个常用的结构如下:

  • src - 包含您所有的源文件,可能还有以下内容(可能在文件夹树的下方):
    • 资源 - 包含资源,例如属性文件
    • config - 与配置相关的所有内容
  • lib - 包含您的库的文件夹,可能放置在单独的子文件夹中
  • bin - 包含已编译的类
于 2012-06-12T07:26:38.017 回答