使用 Maven 创建 jar / war 项目

使用 Maven 创建 jar 项目

  • maven-archetype-quickstart 这个Archetype,基本内容包括: 一个包含junit依赖声明的
    pom.xml 、src/main/java主代码目录及一个名为App的类 、src/test/java测试代码目录及一个名为
    AppTest的测试用例
  • maven-archetype-webapp 一个最简单的Maven war项目模板,当需要快速创建一个Web应用的
    时候可以使用它。生成的项目内容包括: 一个packaging为war且带有junit依赖声明的pom.xml
    src/main/webapp/目录、src/main/webapp/index.jsp文件、src/main/webapp/WEB-INF/web.xml文件、resources目录

每个Maven项目都有自己的坐标。

  • GroupId:公司网址倒写。
  • ArtifactId:项目名。项目名随意起,不建议写成中文。
  • Version:默认就有。目前对我们来说不需要修改。其中1.0 表示版本号,SNAPSHOT表示快照(当 Version 中带有 SNAPSHOT 发布到中央仓库或私服时会上传到快照库。而Version中不带有 SNAPSHOT 的项目会发布到 public 库。由于我们目前不使用私服,所以带不带 SNAPSHOT 没有影响)

pom.xml :

  • <project> 是根标签,必须得有的。
  • <modelVersion> 自动生成,指定pom默认版本。对于 Maven 2.x、Maven 3.x中 modelVersion 必须是4.0.0
  • <groupId> 、 <artifactId> 、 <version> 表示当前项目的坐标,里面信息都是在新建项目时填写的信息。
  • <packaging> 项目类型

项目目录:

  • TestMavenJar // 项目名
  • .idea // IDEA中所有项目都会生成这个文件夹,我们可以不管
  • src/main/java // 所有.java源文件存放位置,也就是存放java代码的。此目录默认只能编
    译.java文件,放java代码以外的东西是不识别的。
  • src/test // 测试目录,这个里面的内容不会被编译,因为对运行无用的,只是编写代码
    阶段进行测试的
  • src/text/java // 所有测试类的目录
  • target //该目录是项目编译后产生的一个目录,主要存放的是编译后的.class文件。
    (如果没有编译目录不存在)
  • pom.xml // Maven最重要的文件,学习Maven很大一部分都在学习此文件如何编
    写。
  • External Libraries // 当前项目所有依赖的jar

如果想要在项目中加入配置文件(如properties文件、xml文件等),那么需要自己手动加入resources目

录:除了.java文件,其他文件都放入到这个目录。编译后会把此目录所有内容直接放入到classes目

录。main右键新建目录:

使用 Maven 创建 war 项目


相关推荐
曹牧13 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法14 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty72514 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎14 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄14 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿15 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds15 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹15 小时前
【Java基础】多态 | 打卡day2
java·开发语言
Re.不晚15 小时前
JAVA进阶之路——无奖问答挑战2
java·开发语言
Ro Jace16 小时前
计算机专业基础教材
java·开发语言