离线/内网环境部署maven项目

系列文章目录

第一讲 离线/内网环境下搭建vue开发环境

第二讲 内网环境运行maven项目

第三讲 离线/内网环境vue项目build部署nginx

第四讲 离线/内网环境部署maven项目


目录

系列文章目录

前言

maven项目package

linux部署

一、安装jdk

二、使用命令 

三、命令延伸

总结


前言

最近接到一个项目,客户现场是全内网环境,只能vpn到客户内网,进到客户提供的华为云桌面进行开发。就是这么个情况,但是没办法,还得做事啊!现在形成文字加深印象,也把这段时间的成果记录一下,那开始吧!(ps:整个过程是在公司window电脑操作的,现在我在家里用mac pro写文章。截图有些不对,后面完善!)


maven项目package

使用工具:idea

版本:不详(后面补充)

打开工具idea,在视图右侧maven 下 使用package命令生存jar包

 问题:此处,也许你在打包时会出现一个问题,当然只有在试图启动项目时才会暴露:No main manifest attribute, in XXX.jar。通常打包之后会生成两个jar包,XXX.jar和XXX.orginal.jar。

XXX.orginal.jar:是只包含用户的源码jar

XXX.jar:是包含整个项目里使用的jar(包含依赖包),这个就是我们应该部署出去的包。

通常可以通过这个来判断打包是否成功,还可以查看jar中MANIFEST.MF文件内容,正常打包的文件内容如下:

(ps:后面补充)

 如果只生成一个jar,如何解决?

修改pom文件,在bulid的maven plugin下加入:

<executions>
     <execution>
      <goals>
       <goal>repackage</goal>
      </goals>
     </execution>
    </executions>
    <configuration>
     <includeSystemScope>true</includeSystemScope>
    </configuration>

linux部署

一、安装jdk

先在我们自己的外网机上下载jdk(ps:jdk安装包在公司电脑里,后面再补)​

二、使用命令 

  java -jar XXX.jar

启动

"注意命令行最后面追加一个参数&,表示是后台进程运行,否则只能用Ctr+C来停止运行了"
Yalin:07demo-shell xiangyalin$ java -jar ./target/demo07shell.jar & 
[1] 19120 "此处是进程pid"
Yalin:07demo-shell xiangyalin$ 
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.3.RELEASE)
2018-07-31 09:23:48.482  INFO 19120 --- [           main] c.e.demo07shell.Demo07shellApplication   : Starting Demo07shellApplication v0.0.1-SNAPSHOT on Yalin with PID 19120 (/Users/xiangyalin/java/dev/01demo/01SpringShell/07demo-shell/target/demo07shell.jar started by xiangyalin in /Users/xiangyalin/java/dev/01demo/01SpringShell/07demo-shell)

停止

Yalin:07demo-shell xiangyalin$ kill -9 19107 "退出进程 kill -9 进程pid"
Yalin:07demo-shell xiangyalin$ 
[1]+  Killed: 9   java -DSTOP.PORT=8079 -DSTOP.KEY=secret -jar ./target/demo07shell.jar

三、命令延伸

进程查看

ps ax : 显示当前系统进程的列表 

ps aux : 显示当前系统进程详细列表以及进程用户

ps ax|less : 如果输出过长,可能添加管道命令 less查看具体进程, 如:ps ax|grep XXX(XXX为进程名称)


总结

以上就是今天要讲的内容,本文仅仅是自己工作中遇到的情况,按自己的理解进行介绍说明,如有不对的地方,欢迎指正。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Julian向前冲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值