Java 近期新闻综述:Micronaut 3.0、Open Liberty Starter、Spring Boot、GraalVM 及 JEP 400

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2021年8月16日发布的Java近期新闻综述包括:Micronaut 3.0、OpenJDK、JDK 18、Spring Boot及Spring Tools的更新、新的Open Liberty starter工具、GraalVM Native Build Tools 0.9.3、Payara Platform的更新、Quarkus 2.1.3、Eclipse OpenMQ 6.2、以及Java in Visual Studio Code的7月份更新。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"OpenJDK"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"对于JDK 18,JEP 400("},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/400","title":null,"type":null},"content":[{"type":"text","text":"默认字符集设置为UTF-8"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":")已经从“候选”(Candidate)状态提升为“提议目标”(Proposed to Target)状态。该JEP指定UTF-8作为标准Java API的默认字符集,以确保所有实现、操作系统、 区域设置及配置的一致性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"JDK 17"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"上周,JDK 17已经进入了最终RC(Release Candidate,发布候选版本)阶段。 根据"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/3","title":null,"type":null},"content":[{"type":"text","text":"JDK的发布过程"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",JDK 17的"},{"type":"link","attrs":{"href":"https:\/\/github.com\/openjdk\/jdk17","title":null,"type":null},"content":[{"type":"text","text":"稳定版仓库"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"仅对"},{"type":"link","attrs":{"href":"https:\/\/bugs.openjdk.java.net\/issues\/?filter=33410","title":null,"type":null},"content":[{"type":"text","text":"关键Bug修复开放"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。该阶段将一直持续到2021年9月14日的GA发布。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"JDK 18"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"上周,JDK 18"},{"type":"link","attrs":{"href":"https:\/\/jdk.java.net\/18\/","title":null,"type":null},"content":[{"type":"text","text":"早期体验版本"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的"},{"type":"link","attrs":{"href":"https:\/\/github.com\/openjdk\/jdk\/releases\/tag\/jdk-18%2B11","title":null,"type":null},"content":[{"type":"text","text":"第11版"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"发布了,其中包含对第10版中各种"},{"type":"link","attrs":{"href":"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8272332?jql=project%20%3D%20JDK%20AND%20fixversion%20%3D%2018%20and%20%22resolved%20in%20build%22%20%3D%20b11%20order%20by%20component%2C%20subcomponent","title":null,"type":null},"content":[{"type":"text","text":"问题"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的修复"},{"type":"link","attrs":{"href":"https:\/\/github.com\/openjdk\/jdk\/compare\/jdk-18%2B10...jdk-18%2B11","title":null,"type":null},"content":[{"type":"text","text":"更新"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。 更多详细信息请查看"},{"type":"link","attrs":{"href":"https:\/\/jdk.java.net\/18\/release-notes","title":null,"type":null},"content":[{"type":"text","text":"发布说明"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"对于JDK 17和JDK 18,均鼓励开发人员通过"},{"type":"link","attrs":{"href":"https:\/\/bugreport.java.com\/bugreport\/","title":null,"type":null},"content":[{"type":"text","text":"Java Bug Database"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"来提交Bug。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Spring Framework"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Spring这周很忙碌,因为"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/projects\/spring-boot","title":null,"type":null},"content":[{"type":"text","text":"Spring Boot"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"、"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-authorization-server","title":null,"type":null},"content":[{"type":"text","text":"Spring Authorization Server"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"和"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/tools","title":null,"type":null},"content":[{"type":"text","text":"Spring Tools"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"有多个版本发布。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Spring Boot "},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/08\/19\/spring-boot-2-5-4-available-now","title":null,"type":null},"content":[{"type":"text","text":"2.5.4"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"和"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/08\/19\/spring-boot-2-4-10-is-now-available","title":null,"type":null},"content":[{"type":"text","text":"2.4.10"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的次要版本分别修复了"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-boot\/releases\/tag\/v2.5.4","title":null,"type":null},"content":[{"type":"text","text":"35个Bug"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"和"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-boot\/releases\/tag\/v2.4.10","title":null,"type":null},"content":[{"type":"text","text":"29个Bug"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",其中包括对两个版本的依赖项升级和文档改进。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在通往Spring Boot 2.6.0的道路上,第二个里程碑版本"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/08\/19\/spring-boot-2-6-0-m2-is-now-available","title":null,"type":null},"content":[{"type":"text","text":"已经发布"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"了,其中包含"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-boot\/releases\/tag\/v2.6.0-M2","title":null,"type":null},"content":[{"type":"text","text":"100多个Bug修复、文档改进和依赖项升级"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。 新特性包括: "},{"type":"codeinline","content":[{"type":"text","text":"AbstractApplicationContextRunner"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"类"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-boot\/issues\/27690","title":null,"type":null},"content":[{"type":"text","text":"更简单的配置"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"; "},{"type":"codeinline","content":[{"type":"text","text":"spring-rabbit-stream"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-boot\/pull\/27480","title":null,"type":null},"content":[{"type":"text","text":"自动配置"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":";当在Open J9上运行时,支持"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-boot\/issues\/26466","title":null,"type":null},"content":[{"type":"text","text":"堆转储(dumping the heap)"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":";并删除了"},{"type":"codeinline","content":[{"type":"text","text":"org.jboss:jboss-transaction-spi"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"构件的"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-boot\/issues\/26574","title":null,"type":null},"content":[{"type":"text","text":"依赖管理"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"随着"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-authorization-server\/releases\/tag\/0.2.0","title":null,"type":null},"content":[{"type":"text","text":"0.2.0"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"初始生产版本的"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/08\/19\/spring-authorization-server-goes-to-production","title":null,"type":null},"content":[{"type":"text","text":"发布"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",Spring Authorization Server已经正式从“实验”(experimental)状态提升为Spring"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects","title":null,"type":null},"content":[{"type":"text","text":"项目组合的一员"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"用于Eclipse、Visual Studio Code和Theia的Spring Tools 4的"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/tools\/","title":null,"type":null},"content":[{"type":"text","text":"4.11.1版"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"已于上周"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/08\/18\/spring-tools-4-11-1-released","title":null,"type":null},"content":[{"type":"text","text":"发布"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",其中涉及到的问题主要有:Spring Boot扩展和Codespaces,扩展在Codespaces中会"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/sts4\/issues\/669","title":null,"type":null},"content":[{"type":"text","text":"多次启动"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"且"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/sts4\/issues\/670","title":null,"type":null},"content":[{"type":"text","text":"找不到正确"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的JDK; 与"},{"type":"codeinline","content":[{"type":"text","text":"JAVA_HOME"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"环境变量"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/sts4\/issues\/664","title":null,"type":null},"content":[{"type":"text","text":"相关的错误信息不正确"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":";以及在GitResource模式中添加了"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/sts4\/issues\/671","title":null,"type":null},"content":[{"type":"text","text":"缺失的属性"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。 开发人员预计4.12.0版将于2021年9月下旬发布。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Micronaut 3.0"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在发布了5个里程碑版本和1个候选版本之后,Object Computing,Inc.(OCI)"},{"type":"link","attrs":{"href":"https:\/\/micronaut.io\/2021\/08\/18\/micronaut-framework-3-released\/","title":null,"type":null},"content":[{"type":"text","text":"发布了"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Micronaut 3.0。新特性包括:从RxJava2迁移到"},{"type":"link","attrs":{"href":"https:\/\/projectreactor.io\/","title":null,"type":null},"content":[{"type":"text","text":"Project Reactor"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":";通过对所有注解显式使用 "},{"type":"codeinline","content":[{"type":"text","text":"@Inherited"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"来更改注解的继承方式;将注解 "},{"type":"codeinline","content":[{"type":"text","text":"@PreDestroy"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"和"},{"type":"codeinline","content":[{"type":"text","text":"@PostConstruct"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"迁移到了 "},{"type":"codeinline","content":[{"type":"text","text":"jakarta.annotation"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"命名空间;以及对控制反转(IoC)的改进。 InfoQ将继续跟进以提供更详细的新闻报道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Payara"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Payara"},{"type":"link","attrs":{"href":"https:\/\/blog.payara.fish\/whats-new-in-the-august-2021-payara-platform-release","title":null,"type":null},"content":[{"type":"text","text":"发布了"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2021年8月版的Payara平台。社区版5.2021.6包含了7个Bug修复、1个组件升级和2个安全修复。 企业版5.30.0包含了8个Bug修复、2个组件升级和2个安全修复。 新特性包括:支持OIDC安全性的多租户控制;Jackson-Databind依赖项中的安全漏洞修复;并"},{"type":"link","attrs":{"href":"https:\/\/blog.payara.fish\/payara-platform-supports-microprofile-4.1","title":null,"type":null},"content":[{"type":"text","text":"支持了"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"MicroProfile 4.1(MicroProfile的最新版本)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Quarkus"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Red Hat"},{"type":"link","attrs":{"href":"https:\/\/quarkus.io\/blog\/quarkus-2-1-3-final-released\/","title":null,"type":null},"content":[{"type":"text","text":"发布了"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Quarkus 2.1.3.Final,这是在Quarkus 2.1之上的第三个维护版本,其特性包括:能够根据环境变量"},{"type":"link","attrs":{"href":"https:\/\/github.com\/quarkusio\/quarkus\/pull\/19486","title":null,"type":null},"content":[{"type":"text","text":"配置注册表URL"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":";在Keycloak Dev Services中创建用户时,具有"},{"type":"link","attrs":{"href":"https:\/\/github.com\/quarkusio\/quarkus\/pull\/19459","title":null,"type":null},"content":[{"type":"text","text":"定义唯一角色的能力"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":";使用Aesh控制台的"},{"type":"codeinline","content":[{"type":"text","text":"write()"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"方法时,能防止无限循环;并且"},{"type":"link","attrs":{"href":"https:\/\/github.com\/quarkusio\/quarkus\/issues\/19299","title":null,"type":null},"content":[{"type":"text","text":"修复"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"了RESTEasy的响应式端点问题。更多详细信息请查看"},{"type":"link","attrs":{"href":"https:\/\/github.com\/quarkusio\/quarkus\/releases\/tag\/2.1.3.Final","title":null,"type":null},"content":[{"type":"text","text":"变更日志"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"OpenLiberty"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"IBM"},{"type":"link","attrs":{"href":"https:\/\/openliberty.io\/blog\/2021\/08\/20\/open-liberty-starter.html","title":null,"type":null},"content":[{"type":"text","text":"引入了"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Open Liberty "},{"type":"link","attrs":{"href":"https:\/\/openliberty.io\/downloads\/","title":null,"type":null},"content":[{"type":"text","text":"Starter"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"来构建Open Liberty应用程序。"},{"type":"codeinline","content":[{"type":"text","text":"RestApplication.java"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"、"},{"type":"codeinline","content":[{"type":"text","text":"server.xml"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"及"},{"type":"codeinline","content":[{"type":"text","text":"Dockerfile"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"文件是根据所选的Java、Jakarta EE及MicroProfile的版本生成的。 这个新实用程序引入了许多其他的启动实用程序,比如"},{"type":"link","attrs":{"href":"https:\/\/start.spring.io\/","title":null,"type":null},"content":[{"type":"text","text":"Spring Initializr"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"、"},{"type":"link","attrs":{"href":"https:\/\/micronaut.io\/launch","title":null,"type":null},"content":[{"type":"text","text":"Micronaut Launch"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"和"},{"type":"link","attrs":{"href":"https:\/\/code.quarkus.io\/","title":null,"type":null},"content":[{"type":"text","text":"Quarkus Code Generator"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Eclipse OpenMQ"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Eclipse基金会已经发布了"},{"type":"link","attrs":{"href":"https:\/\/projects.eclipse.org\/proposals\/eclipse-openmq","title":null,"type":null},"content":[{"type":"text","text":"OpenMQ 6.2"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",它是"},{"type":"link","attrs":{"href":"https:\/\/www.oracle.com\/java\/technologies\/java-message-service.html","title":null,"type":null},"content":[{"type":"text","text":"Java消息服务"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"规范的一种实现,并且它将被包含在即将发布的"},{"type":"link","attrs":{"href":"https:\/\/projects.eclipse.org\/projects\/ee4j.glassfish\/","title":null,"type":null},"content":[{"type":"text","text":"GlassFish"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 6.2.1中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"GraalVM"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Oracle实验室"},{"type":"link","attrs":{"href":"https:\/\/github.com\/graalvm\/native-build-tools\/releases","title":null,"type":null},"content":[{"type":"text","text":"发布"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"了"},{"type":"link","attrs":{"href":"https:\/\/github.com\/graalvm\/native-build-tools\/","title":null,"type":null},"content":[{"type":"text","text":"Native Build Tools"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的0.9.3版,这是一个GraalVM项目,包含用于与 GraalVM "},{"type":"link","attrs":{"href":"https:\/\/www.graalvm.org\/reference-manual\/native-image\/","title":null,"type":null},"content":[{"type":"text","text":"Native Image"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"互操作的插件。 该版本修复了许多与Gradle相关的问题,比如 "},{"type":"codeinline","content":[{"type":"text","text":"mainClass"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"配置"},{"type":"link","attrs":{"href":"https:\/\/github.com\/graalvm\/native-build-tools\/pull\/113","title":null,"type":null},"content":[{"type":"text","text":"不可选"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",并删除了已损坏的"},{"type":"codeinline","content":[{"type":"text","text":"server"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"配置。后者引入了破坏性的变更。其他新特性包括:将用于生成JSON文件的库从"},{"type":"codeinline","content":[{"type":"text","text":"groovy-json"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"替换为"},{"type":"codeinline","content":[{"type":"text","text":"jackson-databind"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" ;并为Gradle插件"},{"type":"link","attrs":{"href":"https:\/\/github.com\/graalvm\/native-build-tools\/pull\/121","title":null,"type":null},"content":[{"type":"text","text":"添加"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"了"},{"type":"codeinline","content":[{"type":"text","text":"sharedLibrary"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"配置。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Java in Visual Studio Code"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/code.visualstudio.com\/docs\/languages\/java","title":null,"type":null},"content":[{"type":"text","text":"Java in Visual Studio Code"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在2021年7月的"},{"type":"link","attrs":{"href":"https:\/\/foojay.io\/today\/vs-code-java-july-2021-update-new-testing-experience-maven-improvements-and-product-roadmap-progress-update\/","title":null,"type":null},"content":[{"type":"text","text":"更新"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"中提供了Java扩展,这些扩展采用了新的Visual Studio Code"},{"type":"link","attrs":{"href":"https:\/\/code.visualstudio.com\/updates\/v1_59#_testing-apis","title":null,"type":null},"content":[{"type":"text","text":"测试API"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",其中包括了一个IDE中的新测试装饰器,并改进了测试资源管理器和测试信息输出。他们还对Maven依赖管理进行了改进,并更新Java in Visual Studio Code在2021年下半年的"},{"type":"link","attrs":{"href":"https:\/\/devblogs.microsoft.com\/java\/java-on-visual-studio-code-update-june-2021\/","title":null,"type":null},"content":[{"type":"text","text":"路线图"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#222222","name":"user"}},{"type":"strong"}],"text":"原文链接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/news\/2021\/08\/java-news-roundup-aug16-2021\/","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/www.infoq.com\/news\/2021\/08\/java-news-roundup-aug16-2021\/"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章