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

深泽网站制作网站运营公司

深泽网站制作,网站运营公司,wordpress隐藏地址,珠海免费网站制作1 概述 编写Java代码之后,需要经过编译、打包字节码、打包源码、生成文档之类的操作,这些操作里面的涉及到各种各样的工具和参数配置,这里仅介绍最基础的。 建议这块能够简单就尽量简单,平时开发大部分的时间都会聚焦在开发业务…

1 概述

编写Java代码之后,需要经过编译、打包字节码、打包源码、生成文档之类的操作,这些操作里面的涉及到各种各样的工具和参数配置,这里仅介绍最基础的。

建议这块能够简单就尽量简单,平时开发大部分的时间都会聚焦在开发业务功能上,这些编译打包相关的配置其实很少人会去搞懂它,经过一段时间人员的变换,可能里面的知识很容易就丢失掉了。如果配置过于复杂,做很多特殊的事情,那么如果出了问题或者需要调整,由于没多少人懂,那么维护起来就比较困难。

所以总体的原则是简单到够用即可,能不用那些复杂的用法就尽量不用。

2 编译打包

2.1 maven插件编译

这里介绍的是maven工具,如果用gradle的则可以出门找找gradle的说明。

先看看maven提供的编译插件:

<properties><java.version>1.8</java.version>
</properties>
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin></plugins>
</build>

Maven提供的插件是maven-compiler-plugin,在<configuration>里可以做比较复杂的配置,这里只是指定了jdk的版本,用此版本的jdk进行编译。上面配置同样没有提供版本号,有了以前的经验,可以猜测应该也是在spring-boot-starter-parent里提供的:

https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-dependencies/2.7.18/spring-boot-dependencies-2.7.18.pom

<properties><maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
</properties>
<build><pluginManagement><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version></plugin></pluginManagement>
</build>

 注意:这个依赖是在<pluginManagement>节点里管理的,并不是在<dependencyManagement>节点里,说明的<plugin>依赖和<dependency>依赖是分开的,不能共用。

用这个插件打出的包里面的结构大致是:

srvpro-1.0.0-SNAPSHOT.jar- com/qqian/stepfmk  // 代码的包目录- META-INF - maven/com/qqian/stepfmk // 里面放的是pom.xml相关文件- pom.properties- pom.xmlMANIFEST.MF- application.properties // resources目录下的配置文件- logback.xml // resources目录下的配置文件

从上面看出,这是一个普通的jar包,插件主要是把代码编译后放到根目录下,resources目录下的配置文件也放到根目录下,还生成了一个META-INF目录,里面放MANIFEST.MF说明文件和工程的pom.xml相关文件。这种jar是不能通过java -jar来启动的。

2.2 springboot插件编译

Springboot也提供了相关的插件:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

插件spring-boot-maven-plugin是带spring-boot前缀的,同样没有提供版本,还得到spring-boot-starter-parent的依赖去找:

https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-dependencies/2.7.18/spring-boot-dependencies-2.7.18.pom

<build><pluginManagement><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.7.18</version></plugin></pluginManagement>
</build>

 从上面看出,版本是硬编码的,和springboot保持同样的版本。如果同时配置了maven-compiler-plugin和spring-boot-maven-plugin插件,以spring-boot-maven-plugin为优先。

用这个插件打出的包里面的结构大致是:

srvpro-1.0.0-SNAPSHOT.jar- BOOT-INF // 如果是war包则名称变为WEB-INF- classes- com/qqian/stepfmk  // 代码的包目录- application.properties // resources目录下的配置文件- logback.xml // resources目录下的配置文件- lib // 所有依赖的jar- classpath.idx // jar加入到classpath的顺序- layers.idx // 用于帮助构建docker镜像- META-INF- maven/com/qqian/stepfmk // 里面放的是pom.xml相关文件- pom.properties- pom.xml- MANIFEST.MF- org/springframework/boot/loader // springboot加载器

从上面看出,这是一个把所有依赖包都打包在一起的包,还有loader,专门是为了执行jar/war包服务的。目前前后端分离是主流,就基本没有jsp和静态文件了,所以一般使用jar即可,如果有jsp和静态文件则只能选用war包。不管是jar包还是war包,都不需要变插件的配置。

2.3 源码包和文档

在某些情况下,还需要打源码包和文档,则可以加上下面配置:

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><executions><execution><phase>deploy</phase><goals><goal>jar</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><executions><execution><phase>deploy</phase><goals><goal>jar</goal></goals></execution></executions></plugin></plugins>
</build>

其中,maven-source-plugin插件会多打出一个xxx-sources.jar的包,里面包含源码和配置文件;

maven-javadoc-plugin则会多打出一个xxx-javadoc.jar的包,里面包含把所有类里用/** */注释的内容生成html文档。

里面配置的,如果是希望在编译的时候就打包,则phase是install,如果是在发布之后打包,则phase是deploy,也可以换成maven的其它phase。

3 架构一小步

采用jar的方式,利用springboot的插件,使得配置简单;把字节码和源码都打包,这样源码包和字节码包可以保持同版本,一起备份起来,后面特殊情况下可以用源码重新打包,有客户需要源码的时候,则可以直接提供:

<groupId>com.qqian.stepfmk</groupId>
<artifactId>srvpro</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><executions><execution><phase>deploy</phase><goals><goal>jar</goal></goals></execution></executions></plugin></plugins>
</build>

http://www.dtcms.com/wzjs/142295.html

相关文章:

  • 做运营必知网站百度推广账号登录
  • 苏宁易购网站上的营销页面口碑营销案例分析
  • 网站建设 前后台目录结构一元手游平台app
  • 杭州高端网站设计自媒体平台大全
  • 自己做的网站如何上传网上北京搜索引擎优化主管
  • 上海网站建设服务宁德外链网盘系统
  • 专业html5网站建设seo快速推广
  • 青海网站建设与维护网站制作教程视频
  • 网站为什么被降权网站联盟推广
  • 服务器做网站数据库h5页面制作平台
  • 柳州城市的城乡建设管理局网站企业网页设计公司
  • 苏中建设集团官方网站搜索引擎网站排名优化方案
  • 做兼职的网站策划书百度快照首页
  • 响应式网站尺寸seo实战密码
  • 用javaee做的网站模板企业网站排名优化公司
  • 网站域名备案证明山东百度推广代理
  • 交通部基本建设质量监督网站岳阳seo快速排名
  • 小程序同步wordpressseo关键词排名优化哪家好
  • 做网站每年需要购买域名吗百度答主招募入口官网
  • 保定网站建设哪家好网络推广的公司更可靠
  • wordpress文章标记单页应用seo如何解决
  • 江苏网站建设seo优化建设公司网站大概需要多少钱?
  • 万网怎么建立网站整站优化seo
  • 科技公司网站响应式百度关键词优化词精灵
  • 免费单页网站建设360免费建站系统
  • 做一年的网站维护价格域名访问网站入口
  • 网站建设游戏公司外链链接平台
  • 深圳新站优化站长之家的作用
  • 文化类网站的前置审批东莞网络营销
  • 设计工作室 网站竞价交易规则