Docker - Docker 执行 Maven

Docker - Docker 执行 Maven

参考资料

Docker 指令参考:

映像档来源:lwieske/java-8

建立 maven 专案的参考资料:
(二)maven 新手教学: 使用command指令,建立第一个maven专案

说明

会写这篇笔记是因为当时学长说要用到 JAVA 的 Maven,才去研究如何在 Docker 上执行 Maven,特此纪录,虽然後面没有机会再用到,但也算是个不错的经验。

拉取 lwieske/java-8 映像档

首先,要拉取 lwieske/java-8 映像档,先有个系统档当基底。

docker pull lwieske/java-8

载完之後,下指令:

docker images

可以看到 lwieske/java-8 的映像档出现在列表内。


然後如果想一次将所有 container 停止及删除, 可以执行以下指令:

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

可参考:Docker 中删除 Images 镜像 及 Containers


载好映像档之後,执行 Container 指令如下:

docker run -it -d --name java8 ac36fa5aed45

进入 Container 指令如下:

docker attach java8

记得切换到使用者主目录,指令如下:

cd ~

然後下载 Maven ,指令如下:

wget http://ftp.mirror.tw/pub/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

解压缩 Maven ,指令如下:

tar -zxvf apache-maven-3.5.4-bin.tar.gz

进入 Maven 资料夹,指令如下:

cd apache-maven-3.5.4/


将 apache-maven 中的 bin 资料夹,设定在环境变数中,指令如下:

export PATH=$PATH:~/apache-maven-3.5.4/bin/


输入指令: mvn --version 来测试看看有没有安装成功,如下图:

建立maven专案

先切换到使用者主目录,指令:cd ~

输入指令:mvn archetype:generate

会载一堆东西w

看到第一个选项:直接输入Enter,

第二个选项:这里是选择版本号,其中alpha代表内部测试,可以随便选一个。

接下来要分别输入四个参数:

groupId:idv.zjh

artifactId:MavenDemo

version :直接输入Enter

package :直接输入 Enter

都OK之後,输入 Y ,出现以下画面代表 Maven 专案建立成功拉

使用Maven建立Jar包

步骤1:先进入有pom.xml设定的资料夹,输入 mvn test,进行单元测试,确认没有问题,指令如下:

cd ~
ls
cd MavenDemo/
mvn test

出现Build Success,表示单元测试成功。

步骤2:输入 mvn package,产生jar包:

会发现产生了一个 target 资料夹,以及 MavenDemo-1.0-SNAPSHOT.jar 。下面是target目录的内容:

步骤3:进入target资料夹,输入 java -cp MavenDemo-1.0-SNAPSHOT.jar idv.zjh.App

有成功显示的话 Hello World! 表示成功!


<<:  【Day2】声音的一些基本介绍

>>:  [Day2] 什麽是语音对话介面 VUI

Day 26 排程管理

Day 26 排程管理 假设今天在架设一台服务器运作使用时,但很怕资料库或程序被误删等状况,这时候就...

课堂笔记 - 物联网概论(2)

感知层 将具有感测与辨识能力的元件嵌入连结上真实的物体里面,进而能够对环境进行监控与感知。 分别有...

[ Day10] Web 小复习

哈罗各位安安 今天是连续发文的第10天 我没囤文,每天当下产文完成1/3了 洒花~ ㄟ我会不会太早庆...

【Day28】建立一个 LUIS Bot

今天我们要来将 Chatbot 与 Language Understanding Service (...

每个人都该学的30个Python技巧|技巧 23:方便的运算函式—pow()、divmod()、round()(字幕、衬乐、练习)

昨天是教你如何自己做函式,那今天就要开始介绍Python内建的函式罗~ 今天教到的这三个函式都是拿来...