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

网站开发授权书如何做网络推广运营

网站开发授权书,如何做网络推广运营,网站开发硬件设计,网站设计 用户心理研究本文为官方文档直译版本。原文链接 Spring Boot 构建工具插件 引言Spring Boot Maven PluginSpring Boot Gradle PluginSpring Boot AntLib 模块Spring Boot Ant 任务使用 "exejar" 任务示例 使用 "findmainclass" 任务例子 支持其它构建系统重新包装档案嵌…

本文为官方文档直译版本。原文链接

Spring Boot 构建工具插件

  • 引言
  • Spring Boot Maven Plugin
  • Spring Boot Gradle Plugin
  • Spring Boot AntLib 模块
    • Spring Boot Ant 任务
      • 使用 "exejar" 任务
      • 示例
    • 使用 "findmainclass" 任务
      • 例子
  • 支持其它构建系统
    • 重新包装档案
    • 嵌套库
    • 查找主类
    • 重新打包实现例子

引言

Spring Boot 为 Maven 和 Gradle 提供了构建工具插件。这些插件提供多种功能,包括打包可执行 jar。本节将提供有关这两个插件的更多详细信息,并在您需要扩展不支持的构建系统时提供一些帮助。如果你刚刚入门,不妨先阅读 “using.html” 部分的 “using.html”。

Spring Boot Maven Plugin

Spring Boot Maven Plugin 在 Maven 中提供 Spring Boot 支持,让您可以打包可执行 jar 或 war 存档并 “就地” 运行应用程序。要使用该插件,您必须使用 Maven 3.6.3 或更高版本。
如需了解更多信息,请参阅插件文档:

  • 参考资料(HTML 和 PDF)
  • API

Spring Boot Gradle Plugin

Spring Boot Gradle Plugin 在 Gradle 中提供对 Spring Boot 的支持,让你可以打包可执行的 jar 或 war 归档,运行 Spring Boot 应用程序,并使用 spring-boot-dependencies 提供的依赖关系管理。它需要 Gradle 7.x (7.5 或更高版本)或 8.x。欲了解更多信息,请参阅插件文档:

  • 参考资料(HTML 和 PDF)
  • API

Spring Boot AntLib 模块

Spring Boot AntLib 模块为 Apache Ant 提供基本的 Spring Boot 支持。您可以使用该模块创建可执行 jar。要使用该模块,需要在 build.xml 中声明一个额外的 spring-boot 命名空间,如下例所示:

<project xmlns:ivy="antlib:org.apache.ivy.ant"xmlns:spring-boot="antlib:org.springframework.boot.ant"name="myapp" default="build">...
</project>

请记住使用 -lib 选项启动 Ant,如下例所示:

$ ant -lib <directory containing spring-boot-antlib-3.2.1.jar>

在 “使用 Spring Boot” 一节中,包含了一个将 Apache Ant 与 spring-boot-antlib 结合使用的更完整示例。

Spring Boot Ant 任务

一旦声明了 spring-boot-antlib 命名空间,就可以执行以下附加任务:

  • 使用 “exejar” 任务
  • 使用 “findmainclass” 任务

使用 “exejar” 任务

您可以使用 exejar 任务创建 Spring Boot 可执行 jar。该任务支持以下属性:

属性描述必填
destfile要创建的目标 jar 文件Yes
classesJava 类文件根目录Yes
start-class要运行的主程序类No (默认情况是找到的第一个声明了主方法的类)

以下嵌套元素可与任务一起使用:

元素描述
resources一个或多个资源集,描述了应添加到已创建 jar 文件内容中的一组资源。
lib一个或多个资源集,应添加到构成应用程序运行时依赖类路径的 jar 库集合中。

示例

本节展示两个 Ant 任务示例。

<spring-boot:exejar destfile="target/my-application.jar"classes="target/classes" start-class="com.example.MyApplication"><resources><fileset dir="src/main/resources" /></resources><lib><fileset dir="lib" /></lib>
</spring-boot:exejar>
<exejar destfile="target/my-application.jar" classes="target/classes"><lib><fileset dir="lib" /></lib>
</exejar>

使用 “findmainclass” 任务

exejar 内部使用 findmainclass 任务来查找声明 main 的类。如有必要,您也可以在构建过程中直接使用该任务。支持以下属性:

属性描述必填
classesrootJava 类文件根目录Yes (除非指定了 _mainclass_)
mainclass可用于短路主类搜索No
property应根据结果设置的 Ant 属性No (如果未指定,结果将被记录)

例子

本节包含三个使用 findmainclass 的示例。

<findmainclass classesroot="target/classes" />
<findmainclass classesroot="target/classes" property="main-class" />
<findmainclass mainclass="com.example.MainClass" property="main-class" />

支持其它构建系统

如果想使用 Maven、Gradle 或 Ant 以外的构建工具,可能需要开发自己的插件。可执行 jar 需要遵循特定的格式,某些条目需要以未压缩的形式编写(详情请参见附录中的 “可执行 jar 格式” 部分)。
Spring Boot Maven 和 Gradle 插件都使用 spring-boot-loader-tools 来实际生成 jar。如果需要,可以直接使用该库。

重新包装档案

要重新打包现有存档,使其成为独立的可执行存档,请使用 org.springframework.boot.loader.tools.RepackagerRepackager 类需要一个构造函数参数,该参数指向现有的 jar 或 war 压缩包。使用两个可用的 repackage() 方法之一替换原始文件或写入新目标。在运行 Repackager 之前,还可以对其进行各种设置。

嵌套库

重新打包归档文件时,您可以使用 org.springframework.boot.loader.tools.Libraries 接口来引用依赖文件。我们在此不提供任何 Libraries 的具体实现,因为它们通常是特定于构建系统的。
如果您的存档已包含库,您可以使用 Libraries.NONE

查找主类

如果不使用 Repackager.setMainClass() 指定主类,重新打包程序会使用 ASM 读取类文件,并尝试使用 public static void main(String[] args) 方法查找合适的类。如果找到的候选类超过一个,就会出现异常。

重新打包实现例子

下面的示例展示了一个典型的重新打包实现过程:

import java.io.File;
import java.io.IOException;
import java.util.List;import org.springframework.boot.loader.tools.Library;
import org.springframework.boot.loader.tools.LibraryCallback;
import org.springframework.boot.loader.tools.LibraryScope;
import org.springframework.boot.loader.tools.Repackager;public class MyBuildTool {public void build() throws IOException {File sourceJarFile = ...Repackager repackager = new Repackager(sourceJarFile);repackager.setBackupSource(false);repackager.repackage(this::getLibraries);}private void getLibraries(LibraryCallback callback) throws IOException {// Build system specific implementation, callback for each dependencyfor (File nestedJar : getCompileScopeJars()) {callback.library(new Library(nestedJar, LibraryScope.COMPILE));}// ...}private List<File> getCompileScopeJars() {return ...}}
http://www.ds6.com.cn/news/31829.html

相关文章:

  • 在网站制作完成后网站建设做网站seo推广公司
  • 金蝶软件免费版下载郑州seo软件
  • 北京个人网站建设多少钱优化网站打开速度
  • 怎么自己给自己的网站做推广网站seo重庆
  • 企业微网站与手机微信定制开发公司
  • 管理系统网站模板seo快速排名代理
  • wordpress parkcollege河源市企业网站seo价格
  • 做情趣导航网站可以吗国内十大搜索引擎网站
  • wordpress 小说网站网站seo策划方案案例分析
  • 东莞网站建设17海外网络推广服务
  • 网页设计模板html代码我的家乡网站关键词排名手机优化软件
  • 石家庄网站建设备案网站推广的方式有哪些
  • 东莞常平网站建设关键词歌词简谱
  • 大兴区企业网站建设全网关键词搜索工具
  • 在电脑上哪里可以做网站站长统计app软件下载官网安卓
  • 做深度游网站 知乎免费推广网站注册入口
  • 西安网站公司建设品牌网站建设公司
  • 中冠工程管理咨询有限公司巢湖seo推广
  • 维护网站费用搜索引擎营销的步骤
  • org 结尾的网站注册要什么手续网站搜索引擎优化方案的案例
  • 推广赚钱app排行榜天津搜狗seo推广
  • 优酷 做视频网站还能成功吗关键词seo价格
  • 安徽建设工程信息网上查询seo优化推广教程
  • 做soho一定要做网站吗重庆网络推广平台
  • 怎么注册公司支付宝seo程序
  • wordpress 中文cms主题seo服务价格表
  • 京东第一次做网站优秀网站设计案例
  • 东莞做网站乐云seo软文案例大全300字
  • 自己创建平台型网站360优化大师app
  • 2023年石家庄疫情怎么样了京东关键词优化技巧