java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java项目创建方式

Java项目五种创建方式示例总结

作者:学IT的周星星

这篇文章主要介绍了Java项目五种创建方式的相关资料,包括普通Java项目、JavaWeb项目(Servlet/JSP)、Maven项目、MavenWeb项目和SpringBoot项目,每种项目类型都有其特定的用途、典型目录结构、如何创建项目、核心配置、依赖管理和优缺点,需要的朋友可以参考下

1. 普通 Java 项目(Plain / Standard Java Project)

用途

适合控制台工具、学习练习、算法、单文件或少量类的程序,不依赖 Web 容器或复杂构建工具。

典型目录结构

MyApp/
├─ src/
│  └─ com/example/app/
│     └─ Main.java
├─ lib/                (可选,第三方 jar)
├─ out/                (编译输出,可由 IDE 管理)
└─ README.md

如何创建

编译 / 运行

依赖管理

打包与部署

优缺点

2. Java Web 项目(Servlet/JSP,传统 Java Web)

用途

用于构建基于 Servlet/JSP 的网站或 Web 应用,运行在 Servlet 容器(如 Tomcat、Jetty)中。

典型目录结构(标准 WAR 结构)

MyWebApp/
├─ src/
│  └─ main/
│     └─ java/
│        └─ com/example/web/
│           └─ HelloServlet.java
├─ WebContent/ (或 webapp/)
│  ├─ WEB-INF/
│  │  ├─ web.xml
│  │  └─ lib/         (jar 放这里,部署时随 war 一起)
│  ├─ index.jsp
│  └─ static/
└─ build/ / dist/     (构建产物)

如何创建

核心配置

WEB-INF/web.xml(简化示例)

<web-app>
  <servlet>
    <servlet-name>Hello</servlet-name>
    <servlet-class>com.example.web.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Hello</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>

编译 / 打包 / 部署

依赖管理

优缺点

3. Maven 项目(标准 Maven Java 项目)

用途

使用 Maven 作为构建与依赖管理工具的 Java 应用(非 Web),适合中大型项目、需要标准化构建流程和依赖管理的场景。

典型目录结构(Maven 约定)

my-app/
├─ src/
│  ├─ main/
│  │  ├─ java/
│  │  └─ resources/
│  └─ test/
│     ├─ java/
│     └─ resources/
├─ pom.xml
└─ target/

如何创建

关键文件:pom.xml(最小示例)

<project xmlns="http://maven.apache.org/POM/4.0.0">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <properties>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

构建 / 运行 / 测试

依赖管理

优缺点

4. Maven Web 项目(Maven + Web,生成 WAR)

用途

把传统 Java Web 与 Maven 结合:用 Maven 管理依赖与构建,输出 war 包部署到容器。适合企业级传统 Web 应用。

典型目录结构(Maven Web)

my-webapp/
├─ src/
│  ├─ main/
│  │  ├─ java/
│  │  ├─ resources/
│  │  └─ webapp/
│  │     ├─ WEB-INF/
│  │     │  └─ web.xml
│  │     └─ index.jsp
│  └─ test/
├─ pom.xml
└─ target/

pom.xml要点(war packaging)

<project>
  ...
  <packaging>war</packaging>
  <dependencies>
    <!-- Servlet API 通常 scope 为 provided(由容器提供) -->
    <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>5.0.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>

如何创建

构建 / 打包 / 部署

优缺点

5. Spring Boot 项目(现代微服务/快速开发)

用途

基于 Spring 生态但极简配置的框架,适合开发独立运行的微服务或 web 应用(内嵌容器),快速启动生产级应用。

典型目录结构(Maven)

spring-boot-app/
├─ src/
│  ├─ main/
│  │  ├─ java/
│  │  │  └─ com/example/app/
│  │  │     └─ Application.java
│  │  └─ resources/
│  │     └─ application.properties
│  └─ test/
├─ pom.xml
└─ target/

如何创建

核心示例代码

Application.java

package com.example.app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
}

pom.xml(关键片段)

<project>
  ...
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.1.0</version>
  </parent>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <!-- spring-boot-maven-plugin 用于打包可执行 jar -->
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>

运行 / 打包

依赖管理

部署方式

优缺点

对比速览(优选场景)

常用命令小结

小建议(工程实践)

  1. 新项目优先考虑 Maven/Gradle + Spring Boot(可维护、生态强)。

  2. 需要运行在传统容器、或与遗留系统集成时用 Maven Web (war)

  3. 练习核心 Java 或学习语法时,使用 普通 Java 项目

  4. 团队项目建议用版本控制、CI(GitHub Actions/Jenkins)、并使用构建工具(Maven/Gradle)统一构建。

  5. 为可移植性考虑,使用 application.properties / application.yml 管理配置,避免写死环境变量。

总结 

到此这篇关于Java项目五种创建方式的文章就介绍到这了,更多相关Java项目创建方式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文