目录- 1. 普通 Java 项目(Plain / Standard Java Project)
- 用途
- 典型目录结构
- 如何创建
- 编译 / 运行
- 依赖管理
- 打包与部署
- 优缺点
- 2. Java Web 项目(Servlet/JSP,传统 Java Web)
- 用途
- 典型目录结构(标准 WAR 结构)
- 如何创建
- 核心配置
- 编译 / 打包 / 部署
- 依赖管理
- 优缺点
- 3. Maven 项目(标准 Maven Java 项目)
- 用途
- 典型目录结构(Maven 约定)
- 如何创建
- 关键文件:pom.xml(最小示例)
- 构建 / 运行 / 测试
- 依赖管理
- 优缺点
- 4. Maven Web 项目(Maven + Web,生成 WAR)
- 用途
- 典型目录结构(Maven Web)
- pom.xml要点(war packaging)
- 如何创建
- 构建 / 打包 / 部署
- 优缺点
- 5. Spring Boot 项目(现代微服务/快速开发)
- 用途
- 典型目录结构(Maven)
- 如何创建
- 核心示例代码
- 运行 / 打包
- 依赖管理
- 部署方式
- 优缺点
- 对比速览(优选场景)
- 常用命令小结
- 小建议(工程实践)
- 总结
1. 普通 Java 项目(Plain / Standard Java Project)
用途
适合控制台工具、学习练习、算法、单文件或少量类的程序,不依赖 Web 容器或复杂构建工具。
典型目录结构
MyApp/
├─ src/
│ └─ com/example/app/
│ └─ Main.java
├─ lib/ (可选,第三方 jar)
├─ out/ (编译输出,可由 IDE 管理)
└─ README.md
如何创建
编译 / 运行
编译:
javac -d out src/com/example/app/Main.java
运行:
java -cp out com.example.app.Main
依赖管理
打包与部署
优缺点
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/
如何创建
Spring Initializr(推荐):https://start.spring.io (在 IDE 中通常有向导) IDE:New → Spring Initializr → 选择依赖(Web, JPA, Security 等) CLI(Maven):使用 curl + Initializr 或手动 archetype(一般用 Initializr)
核心示例代码
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>
运行 / 打包
依赖管理
部署方式
优缺点
对比速览(优选场景)
普通 Java 项目:小工具、学习、算法题、桌面/控制台应用。 Java Web 项目(非 Maven):传统 Web / 学习 Servlet/JSP(不推荐用于生产)。 Maven 项目(非 Web):标准化构建、复杂依赖、CI 集成的 Java 应用。 Maven Web 项目:传统企业 Web 应用(war)+Maven 管理依赖与构建。 Spring Boot 项目:现代微服务 / REST API / 快速开发,容器化友好。
常用命令小结
javac / java:原生编译与运行
mvn compile、mvn test、mvn package:Maven 基本生命周期命令
mvn spring-boot:run:运行 Spring Boot 项目
打包成 war:在 pom.xml 中 <packaging>war</packaging>,然后 mvn package
小建议(工程实践)
新项目优先考虑 Maven/Gradle + Spring Boot(可维护、生态强)。 需要运行在传统容器、或与遗留系统集成时用 Maven Web (war)。 练习核心 Java 或学习语法时,使用 普通 Java 项目。 团队项目建议用版本控制、CI(GitHub Actions/Jenkins)、并使用构建工具(Maven/Gradle)统一构建。 为可移植性考虑,使用 application.properties / application.yml 管理配置,避免写死环境变量。
总结
到此这篇关于Java项目五种创建方式的文章就介绍到这了,更多相关Java项目创建方式内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!
您可能感兴趣的文章:- 2023最新版IDEA创建javaweb项目的详细图文教程
- IDEA创建Java项目保姆级教程(超详细!)
- 教你怎么在IDEA中创建java多模块项目
- IDEA创建Java项目文件并运行教程解析
- IntelliJ IDEA 2022.1.1创建java项目的详细方法步骤
- IDEA创建Java项目导出Jar包运行
|