java项目发布到Linux环境简单流程步骤:

1:打开idea项目。在右侧找到maven ,有需要打包的项目,确定需要发布的项目 ,

打开  Lifecycle 选择package。 点击:package

JAVA在Linux在存在问题 java程序在linux运行_jar

如果打包报版本号不对的错,选择右上角的 如图小工具

JAVA在Linux在存在问题 java程序在linux运行_java_02

打开,选择安装的额jdk版本。

JAVA在Linux在存在问题 java程序在linux运行_java_03

第二步:打包完成后,找到打包的文件夹:

JAVA在Linux在存在问题 java程序在linux运行_java_04

打开文件夹 找到对应的项目:

JAVA在Linux在存在问题 java程序在linux运行_jar_05

点击 show in Explorer

JAVA在Linux在存在问题 java程序在linux运行_docker_06

把该jar包拷贝到Liunx服务器上,其他的所有文件夹不需要管,

(通过xftp工具上传到Linux服务器)

第三步:上传之后找到文件夹:用xshell工具

启动服务的三种方式:

1:这个命令不建议使用,是控制台启用,关闭控制台后服务就不能使用  ,所以建议用第二条命令:

java -jar eureka-demo-0.0.1-SNAPSHOT.jar   --控制台启动

2:用该命令启用比较好 

nohup java -jar eureka-demo-0.0.1-SNAPSHOT.jar &  --后台启动

3:用docker启动

一、将发布后的项目上传到linux服务器指定目录中,

可以用shell 命令上传。(上传之前创建单独的文件夹,进入该文件夹后再执行命令)

需要安装一个工具,可以用命令:yum install lrzsz

然后输入 rz 就会弹出一个本地框选择需要上传的文件 或者文件夹到 当前的linux系统目录下,当然也可以用 Xftp 手动上传

二、创建Dockerfile文件

vim Dockerfile  

JAVA在Linux在存在问题 java程序在linux运行_docker_07

Dockerfile文件里面的内容:

FROM java:8 
ADD demo-0.0.1-SNAPSHOT.jar  /app/docker-test.jar
EXPOSE 8888
ENTRYPOINT ["java","-jar","/app/docker-test.jar"]

命令解释: FROM java:8 : 指定从镜像仓库中拉取 java 镜像, :8 表示版本 
ADD demo-0.0.1-SNAPSHOT.jar /app/docker-test.jar 指定将当前目录的demo-0.0.1-SNAPSHOT.jar(我们自己上传上来的jar) 添加到等会要创建的容器的 /app目录下 并且取名为docker-test.jar 
EXPOSE 8888 : 将容器的指定端口暴露出去 (因为作者的spring项目的service 端口是指定的8888 所以此处将8888端口暴露出去)

JAVA在Linux在存在问题 java程序在linux运行_JAVA在Linux在存在问题_08


 ENTRYPOINT [“java”,"-jar","/app/docker-test.jar"] 指定创建镜像的时候要执行的命令:这里的意思是 启动的时候会执行 java -jar /app/docker -test.jar命令(以jar包的形式 启动 /app/docker-test.jar 因为我们在文件中指定了将我们的jar包复制到容器的 /app目录下并且取名 docker-test.jar 所以这里运行的正是前面我们ADD 命令中的jar包)

三、创建镜像

意思是创建一个docker镜像名字为java -app Dockerfile 所在路径为当前路径
-t 指定名称 为java-app

执行命令:docker build -t java-app .

在Dockerfile的目录下,执行 docker build -t dotnetapi . (注意包含 . )  ,构建出一个包含web程序所有内容的 java-app 的容器。 

JAVA在Linux在存在问题 java程序在linux运行_docker_09

3.2查看镜像是否创建成功

docker images

JAVA在Linux在存在问题 java程序在linux运行_java_10

三、启动容器

# docker run -d -p 8081:8888 --name java-web java-app

-d表示后台运行
-p 指定端口 映射关系 (将容器的8888端口映射到8081)
–name 指定创建容器的名称(java-web)
java app 指定创建容器的镜像为java-app(即我们刚刚创建的)

JAVA在Linux在存在问题 java程序在linux运行_java_11

四:测试访问

JAVA在Linux在存在问题 java程序在linux运行_java_12