独立Java SE应用程序的项目目录结构是什么?

Har*_*kar 13 java deployment software-packaging

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

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

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

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

Kon*_*uda 18

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

生产类/资源:

src/main/java
src/main/resources
Run Code Online (Sandbox Code Playgroud)

测试数据和类:

src/test/java
src/test/resources
Run Code Online (Sandbox Code Playgroud)

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

  • 对于懒惰:`mkdir -p src/{main,test}/{java,resources}` (12认同)

Mus*_*laa 7

src/com.enterprise_name.project_name. Main.java (the main class)

src/com.enterprise_name.project_name.model.(here all model classes)

src/com.enterprise_name.project_name.view.(here all view classes, JFrame, Jdialog,etc)

src/com.enterprise_name.project_name.view.resources.(here all the files and images used in the views *note)

src/com.enterprise_name.project_name.controller.(here all controller classes)

lib/(here all the external libraries - dont forget add to build path)

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


rol*_*lve 5

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

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

如果您还不了解 Maven,这里有一个关于 Maven 的快速介绍:5 分钟了解 Maven


关于您关于使用依赖项进行打包的问题,​​以下是我的 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>
Run Code Online (Sandbox Code Playgroud)


Die*_*rDP 5

常用的结构如下:

  • src - 包含所有源文件,也可能包含以下文件(可能位于文件夹树的最下方):
  • resources - 包含属性文件等资源
  • 配置 - 与配置相关的所有内容
  • lib - 包含您的库的文件夹,可能放置在单独的子文件夹中
  • bin - 包含已编译的类