Bootstrap

Java项目结构简要说明

在开发一个Java项目时,项目文件是如何组织的?

这里 使用 Maven 构建 来说明一下 一个Java项目的文件目录都有哪些?

单应用

1. 建立一个 文件夹,这个文件夹包括了 项目的 所有需要的文件

2. 在当前文件夹下,需要建立一个 pom.xml 文件,表明 是用 Maven 来构建项目。如果使用的是其他的构建工具,如gradle,则是 gradle的文件。

需要注意的是,pom.xml 的 打包方式设置为  jar ,或者 war,因为是 单应用。

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wxj</groupId>
    <artifactId>testjg</artifactId>
    <version>1.0</version>

    <packaging>jar</packaging>
    
    <name>testjg</name>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.12.RELEASE</version>
        <relativePath/>
    </parent>


    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.18</version>
        </dependency>
    </dependencies>
    
</project>

3. 再当前文件夹下建立一个 src 名字的 文件,所有 源码相关的都是再这个文件夹下,包括 java文件 和 属性文件

4. 再当前文件下 建立的其他文件,用来辅助项目,比如一些 说明文件,版本变更记录等等

至此,一个 项目结构就完成了。只不过里面没有任何内容。

5. 在src 文件夹下,建立两个文件夹,名为 main / test ,main 文件夹 放源码文件,test文件夹放测试相关的源码文件

6. 在 main / test 文件夹下 再建两个文件夹,名为 java / resources ,java 文件夹下 存放 java源码文件,resources 文件夹下存放 资源文件

多模块拥有

多模块应用 类似 在项目文件夹下 存在 多个 单体应用,每个单体应用 都符合上面的文件结构。唯一的不同是,项目文件夹下的pom.xml 设置的 打包方式 是 pom ,并且 指定 应用模块。

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wxj</groupId>
    <artifactId>testjg</artifactId>
    <version>1.0</version>

    <packaging>pom</packaging>
    
    <name>testjg</name>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.12.RELEASE</version>
        <relativePath/>
    </parent>

    <modules>
        <module>m1</module>
        <module>m2</module>
    </modules>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.18</version>
        </dependency>
    </dependencies>
    
</project>

;