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

流媒体网站开发pdf建筑工程网络图图片

流媒体网站开发pdf,建筑工程网络图图片,学ps网课平台哪个好,珠海网络推广JAVA 可执行文件格式 springboot 程序使用 Maven PLugin插件编译时#xff0c;可以生成可执行的 jar 和 war 程序。其核心原理是 spring-boot-loader 模块#xff0c;详细原理如下 1 嵌套 JARS java 本身不支持任何标准的加载嵌套 jar 的方式#xff0c;要解决该问题可以生成可执行的 jar 和 war 程序。其核心原理是 spring-boot-loader 模块详细原理如下 1 嵌套 JARS java 本身不支持任何标准的加载嵌套 jar 的方式要解决该问题很多人使用 sharded jars 方式去打包程序将所有 jar 包从新打包为一个独立的 “union-all.jar” 。但是 shared jars 方法使得很难判断应用程序中代码的归属、同时可能存在部分文件名冲突问题。 springboot 使用一种不同的方式实现嵌套 jar。 1.1 可执行 Jar 文件结构 springboot 加载 jar 文件结构如下 pmsuite-web-5.4.1-SNAPSHOT.jar|-META-INF| -MANIFEST.MF-org| -springframework| -boot| -loader| -spring boot loader classes # springboot 提供加载机制实现-BOOT-INF-classes| -cn| -pinming| -suite| -SuiteApplication.class| - ...| -static| -templates| -application.yml| -spring-config.xml| -....-lib-druid-1.1.23.jar-dubbo-2.7.15.jar-... MANIFEST.MF 文件内容 Manifest-Version: 1.0 Implementation-Title: pmsuite-web Implementation-Version: 5.4.1-SNAPSHOT Built-By: Administrator Specification-Title: pmsuite-web Implementation-Vendor-Id: cn.pinming Spring-Boot-Version: 2.1.3.RELEASE Main-Class: org.springframework.boot.loader.JarLauncher Start-Class: cn.pinming.pmsuite.SuiteApplication Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Created-By: Apache Maven 3.8.1 Build-Jdk: 1.8.0_131 Specification-Version: 5.4 Implementation-URL: https://projects.spring.io/spring-boot/#/spring-boot-starter-parent/pmsuite-boot-project/pmsuite/pmsuite-basic-parent/pmsuite-web 按文件结构约定依赖jar包必须放在 WEB-INF/lib 下任何运行时必须但部署到传统web容器时不必须的依赖放到 WEB-INF/lib-provided 目录下而应用程序的 classes 必须放在 BOOT-INF/classes 目录下。 1.2 索引文件 Spring Boot Loader-compatible jar and war 文件可以 在 BOOT-INF/ 目录下存放扩展的索引文件。 一个 classpath.idx 文件可以为 jar 和 war 文件提供扩展 jars 依赖而 layers.idx 仅仅为 jar 可执行文件服务。 索引文件使用 YAML 兼容语法。索引文件案例: example.jar|-META-INF| -...-BOOT-INF-classes| ...-lib-dependency1.jar-dependency2.jar索引文件如下: - BOOT-INF/lib/dependency2.jar - BOOT-INF/lib/dependency1.jar2. Spring Boot 加载 jar file 机制 springboot 加载 嵌套jars 核心入口 org.springframework.boot.loader.jar.JarFile 。该程序从一个标准 jar 文件 或 嵌套子 jar 文件中加载数据。 3. 执行jar springboot 使用 org.springframework.boot.loader.Launcher 作为 java 程序加载主程序。该程序是一个 springboot 启动程序。 该启动程序包括三个子加载程序 JarLauncher, WarLauncher, and PropertiesLauncher。 4 PropertiesLauncher PropertiesLauncher 加载一些扩展特性比如系统配置、环境变量、mainfest 入口、或加载配置。详细配置清单如下 键值用途loader.path使用逗号分割classpath如 ${home}/app/lib。 类似 javac命令行的 -classpath 参数loader.homeloader.path 或 loader.propertis 中如果使用相对目录时的跟目录。loader.args程序启动参数多个参数使用空格分割loader.main程序启动的 main-class如 SuiteApplication.classloader.config.nameloader配置名称loader.config.locationloader配置路径默认 classpath:loader.propertisloader.system判断配置是否加载到系统配置中默认 false PropertiesLauncher工作规则: loader.properties 先从loader.home如果找不到查询classpath跟目录最后查询 classpath:/BOOT-INF/classes。 使用最先找到的配置。 loader.home只有在loader.config.location为配置时才会从该目录加载扩展配置覆盖默认配置。 loader.path可以包含目录包含 jar 或 zip文件、JAR归档文件路径内容包括诸如dependencies.jar!/lib、正则表达式。 loader.path默认值为 BOOT-INF/lib (表示从嵌套 jar归档文件中加载)该情况下不需要加载额外配置信息。 配置信息搜索顺序environment variables, system properties, loader.properties, the exploded archive manifest, and the archive manifest. 案例 使用 loader.path 方式启动 springboot程序 Maven plugin 配置 plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationlayoutZIP/layoutincludesincludegroupIdnon-exists/groupIdartifactIdnon-exists/artifactId/include/includes/configurationexecutionsexecutiongoalsgoalrepackage/goal/goals/execution/executions/plugin!--拷贝依赖到jar外面的lib目录--plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-dependency-plugin/artifactIdexecutionsexecutionidcopy/idphasepackage/phasegoalsgoalcopy-dependencies/goal/goalsconfiguration!--指定的依赖路径--outputDirectory${project.build.directory}/lib/outputDirectory/configuration/execution/executions/plugin 配置 layout 修改为 ZIP使得启动的时候能够设别 loader.path属性配置 include 为 non-existslib包 只包含 non-exists 包而non-exists不存在使用不打包lib依赖这样就能保障所有依赖统一走 loader.path使用 maven-dependency-plugin 独立打包依赖 生成目录结构如下 -target| - pm-bigdata-web.jar| - lib\| - ... 启动脚本 java -jar -Dloader.pathlib -Dspring.config.location./config/application.yml pm-bigdata-web.jar java 外部lib java -jar -Djava.ext.dirs./libs 如果在libs内 命令-Djava.ext.dirs参数为./ ,如果生成jar与libs同级那么改为./libs 意思就是告诉jar 我的依赖jar包相对于我要执行的jar包的位置在哪里
http://www.pierceye.com/news/606992/

相关文章:

  • 手机网站开发有前途软件开发服务费税率
  • 代做网站的公司有哪些logo一键生成器不要钱的
  • 网站建设和编程的区别游戏网站模板html
  • 大麦网网站内似网站开发百度资料怎么做网站
  • 网站销售方案英文淘宝网站建设
  • wordpress双语网站微信二次开发
  • 公司的网站建设做什么费用尚海整装公司电话
  • 贵阳市建设厅官方网站官方网站开发需要几个技术人员
  • 电子政务网站模版科学规划网页的做法是
  • 昆明网站建设猫咪科技抚州网站建设
  • 山东网站建设运行工资做的很漂亮的网站
  • 网站免费源码大全无用下载淘宝支持做微交易网站吗
  • 常用网站推广方法石家庄营销网站建设价格
  • 网站界面设计的基本原则是什么论坛做视频网站
  • 学校网站总务建设怎么做网站流量竞品分析
  • 企业网站建设所需要的资料网站备案 icp备案
  • 商城类网站方案中国风 wordpress主题
  • 网站更换服务器教程南阳网站推广招聘
  • 海尔网站的建设目标四库一平台个人信息查询
  • 佛山市建设网站公司网站手机端和电脑端
  • 属于c2c的网站是重庆化工建设信息网站
  • 高端大气网站推荐网赌网站建设多少钱
  • 宁波网站关键词优化排名网站修改图片怎么做
  • 苏州网站建设案例购买网站域名
  • 自己做剧本网站重庆建设工业公司官网
  • 中国网站建设中心建网站和开发软件哪个难
  • 优化网站被百度屏阿里云网站备案核验单
  • 肇庆做网站哪家好河北建设工程信息网正规网站
  • 怎么做展示网站公司网站管理规定
  • 娄底网站制作备案号查询平台