Build 阶段工具 ¶
1. Java 项目构建工具介绍 ¶
构建 Java 项目的工具一般有两种选择 Maven
和 Gradle
。
这里选择 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 环境变量 ¶
=====================================================
配置文件添加下面两行内容:
export JAVA_HOME=/usr/local/jdk-17.0.12/
export PATH=$JAVA_HOME/bin:$PATH
=====================================================
source /etc/profile
3. 查看 java 版本 ¶
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 环境变量 ¶
=====================================================
配置文件添加下面两行内容:
export PATH="$PATH:/usr/local/sonar-scanner/bin/:/usr/local/maven/bin"
=====================================================
source /etc/profile
3. 查看 maven 版本 ¶
mvn -version
4. maven 配置(nexus 看后续) ¶
1. 进入目录并备份配置 ¶
cd /usr/local/maven/conf/ && cp settings.xml setings
2. 项目配置本地的 nexus 私服 ¶
<mirrors>
<mirror>
<id>nexus-DevOps</id>
<mirrorOf>maven-public</mirrorOf>
<url>http://192.168.3.40:8081/repository/maven-public/</url>
</mirror>
</mirrors>
mirror
相当于一个拦截器,它会拦截 maven
对 remote 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)文件主要有以下区别。
-
用途:
- war 文件主要用于部署 Web 应用程序到 Web 服务器(如 Tomcat)。
- jar 文件通常是一个可独立运行的 Java 应用程序或库,可以被其他 Java 项目引用。
-
内容结构:
-
war 文件包含了 Web 应用的所有组件,如 HTML、JSP 页面、Servlet 类、静态资源(CSS、JavaScript、图片等)、配置文件以及相关的依赖库。
-
jar 文件主要包含 Java 类文件、资源文件和项目所依赖的库。
-
-
运行方式:
-
war 文件需要部署到 Web 容器中才能运行。
-
jar 文件可以通过命令行使用 java -jar 命令直接运行(如果包含了主类和相关配置)。
-
总之,war 针对 Web 应用,jar 更通用,可用于各种 Java 程序或作为库被引用。