独立的Java SE(基于命令行)应用程序的标准项目目录结构是什么?
src
文件夹将包含我所有.java
文件,并妥善组织包。除此之外,我还有bin
文件夹,其中包含我的.class
文件。
我的项目中有属性文件和 XML 配置文件。我应该将它们放在哪个目录中?我应该创建一个名为 com.myproject.config
的包并将所有.xml
配置文件放入其中吗?
我希望依赖罐与我的最终包装一起打包。那么我应该创建一个文件夹(比如名称lib
)来保存所有这些.jar
文件吗?
我建议坚持使用默认的Maven布局(并使用maven作为构建工具)
生产类/资源:
src/main/java
src/main/resources
测试数据和类:
src/test/java
src/test/resources
Maven还可以注意使用所有必要的jar正确打包您的应用程序(寻找Maven汇编插件)
src/com.enterprise_name.project_name.主类.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/(这里所有的外部库 - 不要忘记添加到构建路径)
*注意,如果您需要一些资源文件(XML,配置文件等),请在您需要的特定位置(模型,控制器,视图)创建一个包.resources。
常用的结构如下:
- src - 包含所有源文件,可能还包含以下内容(可能位于文件夹树的下方):
- 资源 - 包含属性文件等资源 配置
- - 与配置相关的所有内容
- lib - 包含您的库的文件夹,可能放置在单独的子文件夹中
- bin - 包含已编译的类
据我所知,Java本身没有标准的项目结构。但是,各种工具和IDE(如Eclipse)确实具有标准结构。
另一方面,Maven是Java的构建工具,具有非常明确定义的(默认)项目结构。在那里,所有 Java 源文件都放在 src/main/java
文件夹中,所有资源文件(如配置文件)都放在 src/main/resources
中。
还不知道的话,这里有一个关于Maven的非常快速的介绍:Maven在5分钟内
关于
您关于使用依赖项打包的问题,以下是从我的一个Maven POM文件中截取的片段,该文件使用汇编插件创建一个包含所有依赖项的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>