软件工程-项目构建部署

一.什么是项目构建

我们用比如像java这样的高级语言编写好了程序是不是能立马运行起来?当然是不能的。因为java编写出来的是源码,源码是不能直接运行的。要先进行编译,比如编译成class文件。编译成class文件就能直接运行了么?也不是的。因为计算机还要知道你程序的入口比如main方法在哪里。然后你的程序要依赖哪些文件等。但这些东西可能没有集中在一个地方,这样的话我们使用很不方便。所以我们会把这些文件都打在一个包里面。这样方便我们在后面对程序进行运行部署。所以总结来说构建就是源码-编译-打包。

二.构建一个java项目

我们现在先尝试用最原始的方式去构建一个java项目。首先构建的是java项目我们就要先安装jdk。

安装jdk的步骤

1.注册一个oracle账号 

2.去 oracle 官网Java Downloads | Oracle 下载自己所需的jdk

3.安装jdk 安装就不多说了记得配置环境变量

安装完jdk以后我们就可以开始编写java代码了。

直接使用文本编辑器写一个HelloWorld的java文件作为我们的源码内容如下

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("hello world!");
	}
}

写好源码以后我们要对源码进行编译。利用javac 工具将源码编译成class文件。执行命令

javac HelloWorld.java

编译完会生成HelloWorld.class 文件 然后使用java命令运行程序输出hello world

 这是编译单个class文件。如果我们的HelloWorld中有依赖其他class文件要怎么处理呢?

首先我们给我们的世界加一只狗狗.代码如下

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("hello world!");
		Dog dog = new Dog();
		dog.bark();
	}
}
public class Dog {
	
	public void bark() {
	  System.out.println("wang wang !");
	}
}

 javac HelloWorld.java 重新编译(这里会直接在当前目录找到依赖的Dog.java一起编译)

执行java HelloWorld命令输出结果(直接会查找当前目录下的所有class文件)

 但这只是一两个文件,实际项目中的文件可能是成千上万个。所以我们需要把这些文件打成一个包,方便后面传输或者部署。java 为我们提供了一个打包工具 jar 我们用它来打包

jar cvf HelloWorld.jar  *.class

 使用jar 命令打包当前目录下的所有class文件生成 HelloWorld.jar 包

用java 命令运行jar包

 报错没有主清单属性,这是因为未在 MANIFEST.MF 指定Main-Class。

使用解压工具打开jar 包修改MANIFEST.MF文件添加 Main-Class 重新运行

 同时如果有依赖的jar包也可以在MANIFEST.MF指定Class-Path

三.利用maven进行java项目构建

由上面可知,如果仅依靠java自己的工具,编译打包什么的有时还挺费劲的。有没有一个工具只要通过修改配置文件就可以完成各种构建步骤呢。我们可以尝试一下构建工具maven

1. 下载安装集成开发环境 idea

官网地址IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains 直接下载社区版即可

2.下载安装maven

3.配置maven环境变量 

4.idea 新建一个maven工程

5. maven项目目录结构

6. pom.xml 管理jar包依赖

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

 7.引用maven插件

执行  mvn clean package 命令开始构建

 构建完成输出如下

target目录下会生成一个可执行的jar包

 查看 my-test-0.0.1-SNAPSHOT.jar jar包

我们可以看到里面也有一个MANIFEST.MF文件描绘我们的打包信息

四.项目部署

对于上面我们生成的可执行jar包,我们要部署到服务器上。

我们用VMware安装虚拟机来模拟服务器环境。

1.进入虚拟机

2.在虚拟机上安装好jdk

 

3.上传上面生成的jar包到指定目录下并运行jar包

 上面的是简单描述下手动的构建部署流程,在实际生产中一般都是实现CI ,CD。

实现CI CD 的常见方式比如有gitlab+maven+jenkins+k8s。

CICD的实现下回分解。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值