本篇博客将细致的讲解从0到1,通过IDEA创建一个Java项目
目录
普通Java项目
新建项目
和下载的IDEA 2020版的做一下对照,因为有的朋友下载的版本不一致
2020版本的IDEA在新建项目时有JAVA的选项。
2022版本
GroupID是项目组织唯一的标识符,
ArtifactID就是项目的唯一的标识符
构建工具的区别
IntelliJ构建的项目是IntelliJ自己的内置构建机制,它只是编译项目中所有修改过的和依赖的文件。这是一个“普通”的构建。
Maven和gradle允许开发人员设置自定义(更复杂)的构建配置。
maven pom.xml定义生命周期目标,gradle build.gradle定义任务。
项目结构
选择IntelliJ的项目结构,点击下方的创建
被Maven管理的Java项目
两种方式:1、在New Project里选择Maven2、左侧列表选择Maven Archetype
第一种方式项目结构
第二种方式
示例代码
package com.example.myproject;
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
使用Maven进行项目管理,还需要进行以下步骤:
在项目文件夹中创建一个Maven项目描述文件,称为pom.xml。
在pom.xml中添加必要的配置和依赖项。以下是一个基本的pom.xml示例:
<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.example</groupId>
<artifactId>myproject</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
maven作用
Maven 是一个用于构建和管理 Java 项目的工具。它提供了一种标准化的项目结构、依赖管理和构建流程,使开人员能够更轻松地管理构建复杂的 Java 应用程序。
以下是 Maven 的一些主要作用:
-
项目结构管理:Maven 规定了一种标准的项目结构,使开发人员能够按照约定进行代码组织和模块化开发。这有助于项目的可维护性和扩展性。
-
依赖管理:Maven 提供了一个强大的依赖管理系统,可以管理和自动下载项目所需的外部库和框架。通过在项目配置文件(pom.xml)中声明依赖项,Maven 可以自动解析依赖关系并下载所需的库。
-
构建工具:Maven 提供了一套强大的构建工具,可以自动化执行常见的构建任务,例如编译代码、运行测试、打包应用程序等。通过简单的命令或使用集成开发环境(IDE)中的 Maven 插件,可以轻松地执行这些任务。
-
插件生态系统:Maven 拥有丰富的插件生态系统,开发人员可以利用这些插件扩展构建过程,执行额外的任务或实现自定义需求。这些插件可以用于静态代码分析、代码生成、文档生成等各种用途。
-
报告生成:Maven 可以生成各种报告,如代码覆盖率报告、测试报告和静态代码分析报告。这些报告可以帮助开发人员更好地了解项目的质量和性能。
总而言之,Maven 提供了一种标准化、自动化和可靠的方式来管理和构建 Java 项目,使开发人员能够更专注于业务逻辑和功能开发,同时提高开发效率和项目的可维护性。
下面是使用Maven和不使用Maven的Java项目之间的一些区别的简单表格表示:
方面 | 使用Maven的Java项目 | 不使用Maven的Java项目 |
---|---|---|
依赖管理 | 通过Maven的依赖管理系统,可以轻松地声明、下载和管理项目所需的外部库和框架。 | 需要手动下载、配置和管理项目所需的外部库和框架。 |
构建过程 | 提供了一套强大的构建工具,可以自动化执行常见的构建任务,如编译代码、运行测试、打包应用程序等。 | 需要手动编写和执行构建脚本或使用其他构建工具来完成构建任务。 |
项目结构 | 规定了一种标准的项目结构,使开发人员能够按照约定进行代码组织和模块化开发。 | 可以根据个人或团队偏好自由组织代码结构。 |
插件生态系统 | 拥有丰富的插件生态系统,开发人员可以利用这些插件扩展构建过程,执行额外的任务或实现自定义需求。 | 需要手动编写或使用其他工具来实现相同的功能。 |
版本管理 | 可以通过Maven管理项目的版本,包括应用程序版本、依赖版本等。 | 需要手动管理项目的版本。 |
社区支持 | 有庞大的Maven社区支持,可以轻松找到使用Maven的解决方案、教程和问题解答。 | 可能需要更多的自行解决问题或依赖于其他社区工具。 |
需要注意的是,使用或不使用Maven对Java项目的实际开发和功能实现并无直接影响,这只是一种项目管理和构建工具的选择。选择是否使用Maven取决于个人或团队的偏好以及项目的需求和规模。
Archetype
中文: 骨架
这里的东西很多,不在此赘述,请看博主的另一篇博客进行学习:
JAVA-带您弄清创建Maven项目-Archetype里那些看完茫然不解的骨架