侧边栏壁纸
博主头像
小周的知识站 博主等级

行动起来,活在当下

  • 累计撰写 80 篇文章
  • 累计创建 12 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录

创建Maven项目

Administrator
2024-06-28 / 0 评论 / 0 点赞 / 6 阅读 / 0 字

创建Maven项目

上面的项目都是非编译项目,也就是代码从仓库中拉下来,不经过任何操作就可以发布,这对于像Java源码需要编译的项目是不可用的,下面我们讲解如何使用Maven插件来构建Java项目

1 Maven介绍

Maven是Apache软件基金会开源的一款项目管理综合工具,主要服务于Java项目的构建、依赖管理、项目管理等,Maven提供给开发人员构建一个完整的生命周期框架。

官网:http://maven.apache.org/

2 安装Maven

软件包下载地址:

清华镜像站下载Maven,并安装(本实验在Jenkins主机安装,如果在其他主机安装需要配置JDK环境,因为 Maven 本身就是基于 Java 写的):

[root@jenkins ~]# tar -xf apache-maven-3.8.1-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.8.1 /usr/local/maven
[root@jenkins ~]# cd /usr/local/maven


3 Maven目录结构介绍

1)bin:该目录包含了 mvn 运行的脚本,在命令行输入任何一条 mvn 命令时,实际上就是在调用这些脚本。

  • bin/mvn:基于 UNIX 平台的 shell 脚本。

  • bin/mvnDebug:基于 UNIX 平台的 shell 脚本( mvn 和 mvnDebug两者基本是一样的,只是 mvnDebug作用就是在运行 Maven 时开启 debug,以便调试 Maven 本身 )。

  • bin/mvn.cmd:基于Windows 平台的命令脚本。

  • bin/mvnDebug.cmd:基于Windows 平台的命令脚本。

  • bin/m2.conf:这是 classworlds 的配置文件,后面会介绍 classworlds。

2)boot:该目录只包含一个文件,以 maven 3.3.9 为例,该文件为 plexus-classworlds-2.5.2.jar包。

plexus-classworlds 是一个类加载器框架,相对于默认的 java 类加载器,它提供了更丰富的语法以方便配置,Maven 使用该框架加载自己的类库。

更多关于 classworlds 的信息请参考 http://classworlds.codehaus.org/。对于一般的 Maven 用户来说,不必关心该文件。

3)conf:该目录包含了一个非常重要的文件 settings.xml。直接修改该文件,就能在机器上全局地定制 Maven 的行为。

4)lib:该目录包含了所有 Maven 运行时需要的 Java 类库,Maven 本身是分模块开发的,因此用户能看到诸如 maven-core-3.3.9.jar、maven-model-3.3.9.jar 之类的文件。

5)LICENSE:记录了 Maven 使用的软件许可证 。

6)NOTICE:记录了 Maven 包含的第三方软件。

7)README.txt:包含了 Maven 的简要介绍,包括安装需求及如何安装的简要指令等。


4 Maven常用命令

命令

功能

mvn -v/-version

显示版本信息

mvn package

生成target目录,编译、测试、生成测试报告、生成jar/war文件

mvn test

编译并测试

mvn clean

清空生成的文件

mvn deploy

在集成或发布环境中,将最终软件复制到远程存储库

mvn verify

进行各种测试来验证包是否有效并且符合质量标准

mvn compile

编译项目源码

mvn install

把包安装到本地仓库,使该包可以作为其他本地项目的依赖

5 配置Maven环境

安装好后,接下来对 Maven 进行配置,将 Maven 的 bin 目录添加到 Path 环境变量。

编辑/etc/profile文件,在末尾添加export PATH=/usr/local/apache-maven-3.3.9/bin/:$PATH

[root@jenkins maven]# vim /etc/profile
export PATH=/usr/local/maven/bin/:$PATH
​
#使用source读取文件内容并执行文件内命令使配置生效
[root@jenkins maven]# source /etc/profile
​
#执行命令验证:-v 查看版本
[root@jenkins maven]# mvn -v


6 Maven命令学习

a:首先我们上传hello-world.tar.gz(Java项目)项目

[root@jenkins ~]# tar -xf hello-world.tar.gz 
[root@jenkins ~]# cd hello-world
​
#查看目录结构
[root@jenkins hello-world]# tree
.
├── pom.xml
└── src
    ├── main
    │   └── java
    │       └── com
    │           └── juvenxu
    │               └── mvnbook
    │                   └── helloworld
    │                       └── HelloWorld.java
    └── test
        └── java
            └── com
                └── juvenxu
                    └── mvnbook
                        └── helloworld
                            └── HelloWorldTest.java

接下来我们在此项目的基础上测试常用的maven命令。

b:mvn clean 命令用于清理项目产生的临时文件(在打包之前先执行清理工作)。

[root@jenkins hello-world]# mvn clean

c:mvn package 命令用于打包项目,Maven 通过读取项目文件(pom.xml),找出它们项目之间的依赖关系,并自动解决依赖,默认依赖会从maven的中央仓库下载(速度较慢)。

[root@jenkins hello-world]# mvn package
...
[INFO] BUILD SUCCESS    #出现该提示表示构建成功

d:查看构建后结果,构建后会生成target目录,存放构建后的数据

[root@jenkins hello-world]# ls target/

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区