跳转至

Build 阶段工具

1. Java 项目构建工具介绍

构建 Java 项目的工具一般有两种选择 MavenGradle

这里选择 Maven 作为项目的编译工具,需要确保配置好 Maven 仓库私服以及 JDK 编译版本。

需要注意的地方。

  • maven 安装之前要先安装 jdk。
  • maven 一定要安装在 jenkins 服务器上。

maven 介绍

Maven是一个项目管理和综合工具。Maven提供给开发人员构建一个完整的生命周期框架。 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期。 Apache的开源项目主要服务于JAVA平台的构建、依赖管理、项目管理。 Project Object Model,项目对象模型。通过xml格式保存的pom.xml文件。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。该文件是由开发维护,我们运维人员可以不用去关心。

2. 安装 java

1. 下载 java

cd /tmp 
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz  
tar -zxvf jdk-17_linux-x64_bin.tar.gz
mv jdk-17.0.12/ /usr/local/jdk-17.0.12/

2. 配置 java 环境变量

1. vim /etc/profile
=====================================================
配置文件添加下面两行内容:
export JAVA_HOME=/usr/local/jdk-17.0.12/
export PATH=$JAVA_HOME/bin:$PATH
=====================================================
2. 加载变量
source /etc/profile

3. 查看 java 版本

3. 查看版本
java -version

3. 安装 maven

1. 下载 maven

cd /tmp 
wget https://mirrors.aliyun.com/apache/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz
tar -zxvf apache-maven-3.9.8-bin.tar.gz
mv apache-maven-3.9.8 /usr/local/maven

2. 配置 maven 环境变量

1. vim /etc/profile
=====================================================
配置文件添加下面两行内容:
export PATH="$PATH:/usr/local/sonar-scanner/bin/:/usr/local/maven/bin"
=====================================================
2. 加载变量
source /etc/profile

3. 查看 maven 版本

3. 查看版本
mvn -version

4. maven 配置(nexus 看后续)

1. 进入目录并备份配置

cd /usr/local/maven/conf/ && cp settings.xml setings

2. 项目配置本地的 nexus 私服

vim settings.xml
  <mirrors>
    <mirror>
      <id>nexus-DevOps</id>
      <mirrorOf>maven-public</mirrorOf>
      <url>http://192.168.3.40:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>

mirror 相当于一个拦截器,它会拦截 mavenremote repository 的相关请求,走该镜像进行 jar 包的获取。

3. 重新打包

mvn clean && mvn install -e

4. maven 构建包类型 war 和 jar 区别

在 Maven 项目中,构建生成 war 或 jar 文件取决于项目的 pom.xml 配置以及项目的类型。

  • 如果您的项目是一个 Web 项目(通常包含 web.xml 文件,并且依赖于 Web 相关的技术,如 Servlet、JSP 等),那么在构建时会默认生成 war 文件。您可以通过配置 war 来明确指定。

  • 如果您的项目是一个普通的 Java 应用程序或者库项目,那么构建时会默认生成 jar 文件。同样可以通过配置 jar 来明确指定。

总之,构建生成哪种类型的文件取决于项目的性质和在 pom.xml 中对 元素的设置。

在 Maven 项目中,编译生成的 target 目录下的 war(Web Application Archive)和 jar(Java Archive)文件主要有以下区别。

  1. 用途:

    • war 文件主要用于部署 Web 应用程序到 Web 服务器(如 Tomcat)。
    • jar 文件通常是一个可独立运行的 Java 应用程序或库,可以被其他 Java 项目引用。
  2. 内容结构:

    • war 文件包含了 Web 应用的所有组件,如 HTML、JSP 页面、Servlet 类、静态资源(CSS、JavaScript、图片等)、配置文件以及相关的依赖库。

    • jar 文件主要包含 Java 类文件、资源文件和项目所依赖的库。

  3. 运行方式:

    • war 文件需要部署到 Web 容器中才能运行。

    • jar 文件可以通过命令行使用 java -jar 命令直接运行(如果包含了主类和相关配置)。

总之,war 针对 Web 应用,jar 更通用,可用于各种 Java 程序或作为库被引用。