当前位置: 首页 > news >正文

备案资料 网站建设方案书网站建设如何把更改内容

备案资料 网站建设方案书,网站建设如何把更改内容,国际化网站,成都网站快速优化排名SpringBoot【运维实用篇】---- SpringBoot程序的打包与运行 程序打包程序运行SpringBoot程序打包失败处理命令行启动常见问题及解决方案 刚开始做开发学习的小伙伴可能在有一个知识上面有错误的认知#xff0c;我们天天写程序是在Idea下写的#xff0c;运行也是在Idea下运行的… SpringBoot【运维实用篇】---- SpringBoot程序的打包与运行 程序打包程序运行SpringBoot程序打包失败处理命令行启动常见问题及解决方案 刚开始做开发学习的小伙伴可能在有一个知识上面有错误的认知我们天天写程序是在Idea下写的运行也是在Idea下运行的。 但是实际开发完成后我们的项目是不可能运行在自己的电脑上的。 我们以后制作的程序是运行在专用的服务器上的简单说就是将你做的程序放在一台独立运行的电脑上这台电脑要比你开发使用的计算机更专业并且安全等级各个方面要远超过你现在的电脑。 那我们的程序如何放置在这台专用的电脑上呢这就要将我们的程序先组织成一个文件然后将这个文件传输到这台服务器上。这里面就存在两个过程一个是打包的过程另一个是运行的过程。 温馨提示 ​ 企业项目上线为了保障环境适配性会采用下面流程发布项目这里不讨论此过程。 开发部门使用Git、SVN等版本控制工具上传工程到版本服务器服务器使用版本控制工具下载工程服务器上使用Maven工具在当前真机环境下重新构建项目启动服务 ​ 继续说我们的打包和运行过程。所谓打包指将程序转换成一个可执行的文件所谓运行指不依赖开发环境执行打包产生的文件。上述两个操作都有对应的命令可以快速执行。 程序打包 SpringBoot程序是基于Maven创建的在Maven中提供有打包的指令叫做package。本操作可以在Idea环境下执行。 mvn package打包后会产生一个与工程名类似的jar文件其名称是由模块名版本号.jar组成的。 程序运行 程序包打好以后就可以直接执行了。在程序包所在路径下执行指令。 java -jar 工程包名.jar执行程序打包指令后程序正常运行与在Idea下执行程序没有区别。 特别关注如果你的计算机中没有安装java的jdk环境是无法正确执行上述操作的因为程序执行使用的是java指令。 特别关注在使用向导创建SpringBoot工程时pom.xml文件中会有如下配置这一段配置千万不能删除否则打包后无法正常执行程序。 buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins /buildSpringBoot程序打包失败处理 有些小伙伴打包以后执行会出现一些问题导致程序无法正常执行例如下面的现象 要想搞清楚这个问题就要说说.jar文件的工作机制了知道了这个东西就知道如何避免此类问题的发生了。 搞java开发平时会接触很多jar包比如mysql的驱动jar包而上面我们打包程序后得到的也是一个jar文件。这个时候如果你使用上面的java -jar指令去执行mysql的驱动jar包就会出现上述不可执行的现象而我们的SpringBoot项目为什么能执行呢其实是因为打包方式不一样。 在SpringBoot工程的pom.xml中有下面这组配置这组配置决定了打包出来的程序包是否可以执行。 buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins /build我们分别开启这段配置和注释掉这段配置分别执行两次打包然后观察两次打包后的程序包的差别共有3处比较明显的特征 打包后文件的大小不同打包后所包含的内容不同打包程序中个别文件内容不同 先看第一个现象文件大小不同。带有配置时打包生成的程序包大小如下 不难看出带有配置的程序包体积比不带配置的大了30倍那这里面都有什么呢能差这么多下面看看里面的内容有什么区别。 我们发现内容也完全不一样仅有一个目录是一样的叫做META-INF。打开容量大的程序包中的BOOT-INF目录下的classes目录我们发现其中的内容居然和容量小的程序包中的内容完全一样。 原来大的程序包中除了包含小的程序包中的内容还有别的东西。都有什么呢回到BOOT-INF目录下打开lib目录里面显示了很多个jar文件。 仔细翻阅不难发现这些jar文件都是我们制作这个工程时导入的坐标对应的文件。大概可以想明白了SpringBoot程序为了让自己打包生成的程序可以独立运行不仅将项目中自己开发的内容进行了打包还把当前工程运行需要使用的jar包全部打包进来了。为什么这样做呢就是为了可以独立运行。不依赖程序包外部的任何资源可以独立运行当前程序。这也是为什么大的程序包容量是小的程序包容量的30倍的主要原因。 再看看大程序包还有什么不同之处在最外层目录包含一个org目录进入此目录目录名是 org\springframework\boot\loader在里面可以找到一个JarLauncher.class的文件先记得这个文件。再看这套目录名明显是一个Spring的目录名为什么要把Spring框架的东西打包到这个程序包中呢不清楚。 回到两个程序包的最外层目录查看名称相同的文件夹META-INF下都有一个叫做MANIFEST.MF的文件但是大小不同打开文件比较内容区别 小容量文件的MANIFEST.MF Manifest-Version: 1.0 Implementation-Title: springboot_08_ssmp Implementation-Version: 0.0.1-SNAPSHOT Build-Jdk-Spec: 1.8 Created-By: Maven Jar Plugin 3.2.0大容量文件的MANIFEST.MF Manifest-Version: 1.0 Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx Implementation-Title: springboot_08_ssmp Implementation-Version: 0.0.1-SNAPSHOT Spring-Boot-Layers-Index: BOOT-INF/layers.idx Start-Class: com.itheima.SSMPApplication Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Build-Jdk-Spec: 1.8 Spring-Boot-Version: 2.5.4 Created-By: Maven Jar Plugin 3.2.0 Main-Class: org.springframework.boot.loader.JarLauncher大文件中明显比小文件中多了几行信息其中最后一行信息是 Main-Class: org.springframework.boot.loader .JarLauncher。这句话什么意思呢如果使用java -jar执行此程序包将执行Main-Class属性配置的类这个类恰巧就是前面看到的那个文件。原来SpringBoot打包程序中出现Spring框架的东西是为这里服务的。而这个 org.springframework.boot.loader .JarLauncher类内部要查找Start-Class属性中配置的类并执行对应的类。这个属性在当前配置中也存在对应的就是我们的引导类类名。 现在这组设定的作用就搞清楚了 SpringBoot程序添加配置后会打出一个特殊的包包含Spring框架部分功能原始工程内容原始工程依赖的jar包首先读取MANIFEST.MF文件中的Main-Class属性用来标记执行java -jar命令后运行的类JarLauncher类执行时会找到Start-Class属性也就是启动类类名运行启动类时会运行当前工程的内容运行当前工程时会使用依赖的jar包从lib目录中查找 看来SpringBoot打出来了包为了能够独立运行简直是煞费苦心将所有需要使用的资源全部都添加到了这个包里。这就是为什么这个jar包能独立运行的原因。 再来看之前的报错信息 由于打包时没有使用那段配置结果打包后形成了一个普通的jar包在MANIFEST.MF文件中也就没有了Main-Class对应的属性了所以运行时提示找不到主清单属性这就是报错的原因。 上述内容搞清楚对我们编程意义并不大但是对各位小伙伴理清楚SpringBoot工程独立运行的机制是有帮助的。其实整体过程主要是带着大家分析如果以后遇到了类似的问题多给自己提问多问一个为什么兴趣自己就可以独立解决问题了。 命令行启动常见问题及解决方案 # 查询端口 netstat -ano # 查询指定端口 netstat -ano |findstr 端口号 # 根据进程PID查询进程名称 tasklist |findstr 进程PID号 # 根据PID杀死任务 taskkill /F /PID 进程PID号 # 根据进程名称杀死任务 taskkill -f -t -im 进程名称关于打包与运行程序其实还有一系列的配置和参数下面的内容中遇到再说这里先开个头知道如何打包和运行程序。
http://www.hkea.cn/news/14307314/

相关文章:

  • 网站网站做代理企业网站设计要点
  • 网站设计用处wordpress 电子商务插件
  • 一年级书签制作图片通辽网站建设0475seo
  • 网站开发项目经验和教训网站组建 需求分析
  • 临沂网站建设推广制作静态网页的软件
  • 手机网站开发最好用的框架百度的首页
  • 网站设计应该考虑的重要因素开发网站的公司
  • 阿里巴巴网站建设的背景杭州网络安全公司
  • 建公司网站流程电子商务营销网站建设
  • 嘉兴专业做网站的公司企业网络营销是什么
  • asp.net做报名网站网站域名绑定破解
  • 让你有做黑客感觉的网站制作应用的软件
  • 长春住房和城乡建设部官方网站wordpress手机端兼容
  • 企业网站的特点教师个人网站建设
  • 免费建站软件网站首页的功能需求分析
  • 阿里云虚拟主机建网站四川省建设网站
  • wordpress网站图片加速怎么在后台设置网站的关键词
  • 正在进入一站式服务平台一起做网站女装夏季
  • 什么公司可以做网站湖州 网站建设
  • 徐州建设网站价格团购网站制作
  • 佛山做网站的公司深圳做网页的公司
  • 山东省建设厅制一网站哈尔滨工程建设
  • 金融投资网站模板老房装修
  • 网站开发范例文档网站的元素有哪些
  • 通过招聘网站如何做背景调查软件开发需要哪些软件
  • 乐山电商网站开发什么是网络管理
  • iis7配置asp网站上海百度公司总部
  • 无法跳转到建设银行网站重庆今天刚刚发生的新闻事件
  • 响应式网站生成wordpress扁平化中文主题
  • 济南商城网站制作网站建设的策划文案