华为云之在Linux下使用Maven打包Java项目实践【玩转华为云】
一、本次实践介绍
1.1 实践环境简介
1.本次实践环境使用华为KooLabs云实验平台。
2.本次实践基于华为云ECS弹性云服务器。
3.在ECS云服务器上使用Maven打包Java项目。
1.3 本次实践完成目标
- 熟悉华为云ECS服务器
- 熟练使用Linux系统环境
- 学会使用Maven打包Java项目
二、 相关服务介绍
2.1 华为云ECS云服务器介绍
弹性云服务器(Elastic Cloud Server, ECS)是一种云上可随时自助获取、可弹性伸缩的计算服务,可帮助您打造安全、可靠、灵活、高效的应用环境。
2.2 java介绍
Java是一种高级、通用、面向对象的编程语言。它由Sun Microsystems公司于1995年推出,并且现在由Oracle维护和支持。Java的设计目标是让开发者能够编写一次代码,然后在多个平台上运行,这也被称为“一次编写,到处运行”的原则。这个特点使得Java非常受欢迎,并成为了企业级应用开发的首选语言之一。Java语言具有简单、稳定、可移植、面向对象、安全等特点。它的语法和C语言类似,但相对更简洁和易于理解。Java程序在运行时被编译成字节码,然后在Java虚拟机(JVM)上运行。这使得Java程序可以在任何具有适当JVM的操作系统上运行,大大提高了其可移植性和跨平台性。
2.3 Maven介绍
Maven是一个Java项目管理和构建工具。它提供了一个统一的项目结构,可以将项目组织成一个标准化的形式,并提供了自动化的构建和依赖管理功能。Maven使用一个称为POM(Project Object Model)的XML文件来描述项目的配置信息。POM文件定义了项目的依赖关系、构建目标和插件配置等信息。使用Maven,我们可以简化项目的构建过程,只需要在POM文件中声明项目所需要的依赖,Maven就会自动下载并安装这些依赖,并对项目进行构建。
三、环境准备工作
3.1 预置实验环境
1.开始实验之前请点击手册上方“预置实验环境”按钮。
2.实验环境约等待【2分钟】后预置成功。环境预置成功会自动创建一台名称为 ecs-name 的弹性云服务器 ECS。
3.2 查看预置环境信息
预置成功后ECS资源用户、密码信息可点击预置环境信息查看。
四、登录华为云
4.1 登录华为云
进入【实验操作桌面】,打开Chrome浏览器,首次可自动登录并进入华为云控制台页面。
登录完毕后,进入华为云控制台管理首页。
4.2 查看ECS状态
在华为云的首页服务列表中,点击“弹性云服务器ECS”,进入ECS云服务器管理页面。
在ECS管理页面,我们看到系统已经为我们创建了一台ECS弹性云服务器,名称为ecs-name。
4.3 连接ECS弹性云服务器
在实验桌面,打开xfce终端,将ECS的弹性公网IP地址替换即可。
ssh root@ECS弹性公网IP地址
4.4 检查操作系统版本
检查当前系统版本,当前默认安装使用的是Centos7版本。
[root@ecs-name ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
五、开发环境配置工作
5.1 安装java
直接使用yum安装java
yum -y install java-1.8.0-openjdk-devel
5.2 下载Maven
执行以下命令,快速下载Maven软件包。
cd /home && wget https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com/2493/apache-maven-3.5.4-bin.tar.gz
- 解压压缩包并将文件夹移动至 /usr/local/ 目录
tar xzvf apache-maven-3.5.4-bin.tar.gz && mv apache-maven-3.5.4 /usr/local/apache-maven
5.3 配置环境变量
- 编辑 /etc/profile 文件
vim /etc/profile
- 点击i键进入编辑模式,在最下方添加如下内容
MAVEN_HOME=/usr/local/apache-maven
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
- 使环境变量生效
source /etc/profile
5.4 检查maven版本
检查 Maven 是否成功安装,查看maven版本。
[root@ecs-name home]# mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /usr/local/apache-maven
Java version: 1.8.0_412, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.108.1.el7.x86_64", arch: "amd64", family: "unix"
[root@ecs-name home]#
六、打包Java项目
6.1 创建目录
首先我们先创建一个简单的 java 项目,供 maven 构建。在 /home 下创建以下子目录结构。
mkdir -p /home/src/main/java/hello
[root@ecs-name home]# tree /home/src/
/home/src/
\u2514\u2500\u2500 main
\u2514\u2500\u2500 java
\u2514\u2500\u2500 hello
3 directories, 0 files
6.2 编辑相关文件
在/home/src/main/java/hello目录下,新建两个基础类HelloWorld.java和Greeter.java。
vim /home/src/main/java/hello/HelloWorld.java
package hello;
public class HelloWorld {
public static void main(String[] args) {
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
vim /home/src/main/java/hello/Greeter.java
package hello;
public class Greeter {
public String sayHello() {
return "Hello world!";
}
}
6.3 编辑pom.xml 文件
Maven 项目是使用名为 pom.xml 的 XML 文件定义的。除其他外,此文件提供了项目的名称,版本和对外部库的依赖关系。所以,在项目的根目录下,即/home下创建一个名为 pom.xml 的文件:
vim /home/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-maven</artifactId>
<packaging>jar</packaging>
<version>0.1.0</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>hello.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
6.4 执行编译
执行编译,因为mvn编译需要从中央仓库拉取较多文件,故编译会比较缓慢,请耐心等待3分钟左右。
mvn compile
此时重新进入 hello 项目所在的 home 文件夹,将看到已生成了 target 目录。
cd /home
ls
6.5执行打包操作
通过 package 指令来执行打包操作,注意:因为mvn打包需要从中央仓库拉取较多文件,故打包会比较缓慢,请耐心等待3分钟左右。
mvn package
重新打开 /home/target 目录,可看到生成了 .jar 文件。
[root@ecs-name home]# ls /home/target/
classes generated-sources gs-maven-0.1.0.jar maven-archiver maven-status original-gs-maven-0.1.0.jar
七、运行java项目
运行已经打包好的的.jar文件,看到如下面显示的内容,则本次实践成功。
[root@ecs-name home]# java -jar target/gs-maven-0.1.0.jar
Hello world!
- 点赞
- 收藏
- 关注作者
评论(0)