独立Java SE(基于命令行)应用程序的标准项目目录结构是什么?
src
文件夹将包含正确组织的包中的所有.java
个文件。除此之外,我有bin
文件夹,其中包含我的.class
文件。
我项目中的属性文件和XML配置文件。我应该在哪个目录中放置它们?我应该创建一个名为com.myproject.config
的包,并将所有.xml
配置文件放在其中吗?
我希望依赖的罐子与我的最终包装一起包装。那么我应该创建一个文件夹(例如名称lib
)来保存所有这些.jar
文件吗?
答案 0 :(得分:17)
我建议坚持使用默认的Maven布局(并使用maven作为构建工具)
富有成效的课程/资源:
src/main/java
src/main/resources
测试数据和类:
src/test/java
src/test/resources
Maven还可以使用所有必要的罐子妥善包装您的应用程序 (寻找maven组件插件)
答案 1 :(得分:4)
常用的结构如下:
答案 2 :(得分:3)
据我所知,Java本身没有标准的项目结构。但是,各种工具和IDE(例如Eclipse)都有标准结构。
另一方面, Maven是Java的构建工具,具有非常明确定义的(默认)项目结构。在那里,所有Java源文件都放在src/main/java
文件夹中,所有资源文件(如配置文件)都放在src/main/resources
中。
如果您还不了解Maven,请快速介绍一下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>
答案 3 :(得分:1)
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,配置文件等),请创建一个包.resources。在你需要的特定地方(模型,控制器,视图)