智慧·快乐·成长——科技造福于人。

智乐兔

企业级Java

  • springboot采用gradle后源码的编译针对Maven做了哪些兼容处理

    springboot采用gradle后源码的编译针对Maven做了哪些兼容处理

    springboot源码针对Maven做了一些默认处理,分别是对项目应用Maven发布能力、添加Maven仓库支持能力、默认创建Maven格式发布声明。 通过这些默认处理,如果触发了Jar打包任务,则对项目的java组件执行Maven发布操作,这些底层的操作是由gradle实现的,包括对Jar任务的定义,对java相关文件的定义。 默认支持三种类型:java类的jar包、web类的war包和Java平台级组件。gradle的世界观就是面向开发环境定义世界并驱动世界。这样下去,将出现具有”自省”能力的编译系统。 /** * A plugin applied to ...

    查看全文

  • springboot源码编译、发布和文档的处理方式

    springboot源码编译、发布和文档的处理方式

    springboot源码编译、发布和文档的处理方式是事先约定在程序里面的。springboot对其源码的处理默认执行了三次约定应用,他们分别是Java开发环境的约定、基于Maven的代码发布约定和基于ASCIIdoctor的文档生成约定。 对应的插件类源码如下: /** * Plugin to apply conventions to projects that are part of Spring Boot's build. * Conventions are applied in response to various plugins being applied. * ...

    查看全文

  • springboot编译任务里有关资源抽取的实现逻辑

    springboot编译任务里有关资源抽取的实现逻辑

    资源抽取是指对类似*.properties等属性配置资源文件的提取,springboot团队对springboot源码的资源提取机制做了专门的实现。 springboot编译任务对资源抽取的实现逻辑: public class ExtractResources extends DefaultTask { /** 定义一个占位符助手:前后缀分别为${、} */ private final PropertyPlaceholderHelper propertyPlaceholderHelper = new PropertyPlaceholderHelper("${", "}"); ...

    查看全文

  • springboot2.5编译时对java程序的约定处理

    springboot2.5编译时对java程序的约定处理

    package org.springframework.boot.build; class JavaConventions { void apply(Project project) {// 任务执行过程,对java基础插件展开一系列处理 project.getPlugins().withType(JavaBasePlugin.class, (java) -> { project.getPlugins().apply(TestFailuresPlugin.class); // 测试失败处理 configureSpringJavaFormat(projec ...

    查看全文

  • 分析springboot2.5启动gradle编译任务的启动器类

    分析springboot2.5启动gradle编译任务的启动器类

    这是springboot2.5启动gradle编译任务的启动器类: package org.springframework.boot.build.starters; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Arrays; import java.util.HashMap; import java.util.Map; im ...

    查看全文

  • 一张图看懂springboot使用gradle兼容maven的构建实现

    一张图看懂springboot使用gradle兼容maven的构建实现

    这是springboot最新版对gradle的封装扩展,主要是兼容了Maven的构建。仔细看这张图,可以发现中心包是starters启动器包。通过启动器做了3件事: 1.部署操作 主要是针对maven格式做的兼容实现。这里面包括Maven仓库的定义和Maven插件的定义,还定义了bom和约束,然后定义了自动配置。 2.设置classpath 主要是确定所有类和资源存在的路径。 3.约定设置 首先是java类约定,包括可选包的设置、测试类和资源配置文件的提取。 其次是Maven格式的发布约定设置,保证输出Maven仓库兼容的构建。 最后是文档模块的约定设置,包括组件工厂和脚手架的设置。 另外, ...

    查看全文

  • java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException异常解决

    java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException异常解决

    原因是openjdk是有问题的,缺jar和类。 解决办法: 1、将标准JDK中的rt.jar加到项目的lib目录中。 这种方案可能存在兼容问题,直接的方法是按照正式版jdk,早期版本的jdk1.8,但是不建议商用。 2、替换jar,将jcaptcha-1.0.jar 替换成jcaptcha-all-1.0-RC6.jar。 修改配置文件: <bean id="captchaService" class="com.octo.captcha.service.multitype.GenericManageableCaptchaService"> <constructor- ...

    查看全文

  • centos8 安装jdk1.8需要注意的问题

    centos8 安装jdk1.8需要注意的问题

    1.不要安装openjdk,这玩意有毛病(缺jar,具体可以拿标准版比对),1.8jdk直接从oracle下载RPM安装包,下载路径:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。 找到Linux x64版本下载 下载时需要登录oracle账户。 2.上传到centos 8 服务器上,开始安装前,卸载掉可能存在的java残余: 检查命令: rpm -qa | grep jdk rpm -qa | grep gcj rpm -qa | grep java 清除命令: rpm -qa | gr ...

    查看全文

  • gradle.properties配置参数解释

    gradle.properties配置参数解释

    #该资源文件放在主项目根目录,意味着主宰主项目的配置,如果在运行时加上相关配置参数,这里会被覆盖掉,配置的执行原则是就近原则 version=2.4.1-SNAPSHOT # 当设置为 true 时,Gradle 将重用来自任何以前生成的任务输出 org.gradle.caching=true # 当设置为 true 时,每个任务的单个输入属性哈希和生成缓存密钥将记录在控制台上,就是开启缓存的debug # org.gradle.caching.debug=true # 启用按需孵化配置,其中 Gradle 将尝试仅配置必要的项目。 #org.gradle.configureondemand= ...

    查看全文

  • springboot学习笔记——固化的Maven依赖机制

    springboot学习笔记——固化的Maven依赖机制

    springboot应用创建需要引入Maven依赖:org.springframework.boot:spring-boot-starter-web,org.springframework.boot:spring-boot-loader等。spring starter的版本信息继承自org.springframework.boot:spring-boot-starter-parent,这是Maven管理的继承特性,降低了spring boot应用管理依赖的成本。这样说,有点令人费解。捋一下思路,赖于Maven等jar包依赖管理工具的支撑,springboot应用在构建时往往只需维护sprin ...

    查看全文

  • spring boot学习笔记——spring boot可执行jar的理解

    spring boot学习笔记——spring boot可执行jar的理解

    spring boot应用通过mvn clean package等打包生成可执行jar在target路径下,该路径下还包括与jar同名的.original文件是应用本地资源 (classes编译后的资源文件等),不含第三方依赖。 jar文件又称Fat Jar,采用zip格式压缩。 Fat jar的目录结构: BOOT-INF/classes目录存放应用编译后的class文件; BOOT-INF/lib目录存放应用依赖的JAR包; META-INF/目录存放应用相关的元信息,如MANIFEST.MF文件; org/目录存放Spring Boot相关的clas ...

    查看全文

  • springboot学习笔记——springboot应用创建

    springboot学习笔记——springboot应用创建

    一、springboot的运行环境 springboot2.0基于spring framework 5.0开发,最低jdk版本要求为Java 8。springboot采用模块化设计,模块类库管理依赖于Apache Maven,要求版本3.2+,目前springboot源码库已经迁移到gradle编译工具上了。集成开发环境(IDE)推荐使用InteliJ IDEA。 二、初识springboot springboot首先是spring应用,按应用类型分:Web应用和非Web应用。非Web应用主要用于服务提供、任务调度、消息处理等,Web应用在springboot2.0+支持servlet容器实现 ...

    查看全文