Jakarta EE的拟议命名空间

免责声明:这是我的个人观点,并不代表雇主的观点。

到目前为止,由于从Oracle迁移到Eclipse Foundation,每个人都知道我们需要将所有javax软件包名称重命名为其他名称。

(供参考,请参阅附录A)

目前基本上是讨论,我们应该一次全部重命名,还是在更新API时分阶段重命名(我相信我们现在应该全部重做并克服它),目前大多数人都认为我们会将所有javax重命名为jakarta

正在进行的另一讨论是MicroProfile和Jakarata EE之间的关系。 我认为这两个小组应该保持独立,但要共同努力。 但是,如何工作仍在讨论中。

将品牌与规范脱钩。

目前,MicroProfile下的所有规范都使用名称空间(或包名) org.eclipse.microprofile ,并且如前所述,Jakarta EE的建议是jakarta 。 两者的groupIdartifactId类似,都包含“品牌”名称(雅加达或MicroProfile)。

尽管这很有意义,并且大多数人都认为品牌应该在这两种形式中都可见,但这将规范与品牌或分组结合在一起。

我的建议是从名称空间和Maven工件中删除品牌。 这意味着我们失去了一些品牌元素,但获得了灵活性。 通过从规范中删除分组,使该规范与某个总括项目相关的唯一事情是处理这些规范的工作组。 (从事此规范工作的人员)

例如,我们没有重命名为org.eclipse.enterprise ,而是从javax重命名为jakarta 。 (只是一个例子)

因为我们可以在MicroProfile中进行重大更改,所以我们还从MicroProfile API中删除了品牌,并将API重命名为org.eclipse.enterprise

MicroProfile和Jakarta EE关系。

目前,MicroProfile依赖于Jakarta EE(但并非相反)。 我建议您保持这种关系,所以只有这种关系可以解决。

MicroProfile是进行创新和试验的好地方,但不是(必需)向后兼容的地方。 这使MicroProfile在创建新规范时可以快速移动。

但是,在某些时候,新的API确实已经成熟并且稳定,并且没有添加任何新的主要功能,并且该API变得相当稳定。 在这一点上,也许值得一看,该工作是否应该移至Jakarta工作组,并从那时起就支持向后兼容。 MicroProfile伞仍然会依赖于它,但是以与依赖它从Jakarta EE提取的其他API相同的方式。

由于上述建议的命名方式,因此代码不会更改,并且用户可以继续正常运行,唯一的不同是Jakarta EE具有新的API,并且该规范现在由另一个工作组和另一个Eclipse进程维护。

配置示例。

如果我们以config为例,则该API在MicroProfile下已经成熟,并且(可能)将工作组移至Jakarta。 在Jakarta或JSR下拥有另一个标准,可能不是一个好主意。 如果只有一个标准,则只有一个标准。 在我看来, JSR382应该退役,转而使用迁移到雅加达的MicroProfile Config API。

未来分组。

一旦有了在品牌或分组之间移动API而不影响代码和客户的机制,我们就可以考虑其他分组,并且可能是从雅加达“淘汰”某些API的一种方式。

例如,如果我们在eclipse下创建一个新的分组,我们将其称为ClassicProfile,就像MicroProfile一样,我们可以让ClassicProfile依赖于Jakarta,而不是相反。 然后,我们可以将不再需要在雅加达使用的旧API移到此配置文件中。 这意味着使用这些客户端的客户仍然可以在不更改代码的情况下获得它们,但这意味着我们可以节食Jakarta EE并使其更薄。

最后的想法

与大多数架构决策一样,需要权衡取舍。 在这种情况下,品牌与可移植性。 但是我认为这样做是值得的。 现在这样做也很重要,我们有机会重命名当前的javax名称空间,所以现在还是永远不会。

附录A

  • 原始公告和此Twitter线程
  • 来自Red Hat的Mark Little
  • Ian Robinson,IBM的Kevin Sutter
  • 来自Payara的Steve Millidge
  • 来自Tomitribe的David Blevins
  • 伊瓦尔·格里姆斯塔德
  • 马克·斯特鲁伯特

翻译自: https://www.javacodegeeks.com/2019/09/proposed-namespace-jakarta-ee.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何让.gitignore文件生效

如何让.gitignore文件生效 改动过.gitignore文件之后,在repo的根目录下运行 # 先将当前仓库的文件的暂存区中剔除 git rm -r --cached .# 再添加所有的文件到暂存区,这时.gitignore文件就会生效了 git add .# 提交 git commit -m "fixed untracke…

java identity_仔细研究Java Identity API

java identity在深入探讨之前,让我们看一下有关Java Identity API JSR 351的一些快速事实。 这仍在进行中。 。 。 JSR是什么时候发起的? 该JSR在2011年10月通过了批准投票,随后在2011年11月成立了专家组。 谁负责此规范? Jav…

隐藏任务栏后任务栏出不来怎么办?任务栏快捷键

喜欢隐藏任务栏的朋友,是不是发现了一个有时候隐藏任务栏,任务栏下沉后用鼠标去唤醒,以重新显示任务栏而显示,激活不出来的问题?十分容易解决,见下。使用显示任务栏的快捷键。 这些问题经常出现在比如开启了一个或者…

JDK 14中更好的NPE消息

我的2019年3月博客文章“ Java会出现更好的默认NullPointerException消息吗? ”是在尚未针对特定JDK版本针对更好的NullPointerException消息的JEP 草案编写时编写的。 此后,该JEP草案成为JEP 14的 目标 JEP 358(“ Helpful NullPointerExcep…

jvm能识别什么字符集_识别JVM –比预期要难

jvm能识别什么字符集在Plumbr,我们花费了上个月的时间来为将来的重大改进奠定基础。 此类构件之一是为JVM添加唯一标识符,以便将来自同一JVM的所有会话链接在一起。 尽管一开始似乎是一项琐碎的任务,但是当查看JVM捆绑的jps命令的输出时&…

Spring MVC绑定,无设置器

即使域模型对象没有设置器,也可以将表单参数绑定到域模型对象。 只需添加带有InitBinder方法的ControllerAdvice类,即可通过initDirectFieldAccess()方法将应用程序配置为进行字段绑定 package boottests.controllers;import org…

idf和adf_ADF:弹出窗口,对话框和输入组件

idf和adf在本文中&#xff0c;当我们有一个af&#xff1a;popup包含af&#xff1a;dialog并在其中包含输入组件时&#xff0c;我想重点介绍一个非常常见的用例。 实现此用例时&#xff0c;需要注意一些陷阱。 让我们考虑一个简单的示例&#xff1a; <af:popup id"p1&…

自制串口示波器小工具

因为博主喜欢玩嵌入式&#xff0c;经常与各种硬件打交道&#xff0c;常常需要采集下位机的信号&#xff0c;无奈学生党&#xff0c;买不起示波器&#xff0c;自己用python写了一个串口示波器的上位机&#xff0c;可以很简单的和下位机配合组成示波器&#xff0c;效果如图&#…

ELK堆栈入门

朋友不允许朋友写用户身份验证。 厌倦了管理自己的用户&#xff1f; 立即尝试Okta的API和Java SDK。 在几分钟之内即可对任何应用程序中的用户进行身份验证&#xff0c;管理和保护。 好的设计原则要求微服务架构是可观察的&#xff0c;并提供集中的监视工具。 该工具使开发团队…

speex在stm32f407单片机上的移植

最近做的网络语音的项目需要用到speex中的一些功能&#xff0c;查了一下资料发现移植给mcu的经验大多零零碎碎&#xff0c;自己捣鼓了一晚上总算是移植好了&#xff0c;写个博客记录一下。1.获取speex源码 官方下载&#xff1a; 官方地址 博主移植用的源码以及移植好的工程下…

在Kafka上异步发送数据

对于一个项目&#xff0c;我试图记录用户的基本交易&#xff0c;例如添加和删除一个项目以及多种类型的项目&#xff0c;并为每笔交易向kafka发送一条消息。 日志机制的准确性不是至关重要的&#xff0c;在kafka服务器停机的情况下&#xff0c;我不希望它阻止我的业务代码。 在…

devc++工程提示“源文件未编译”的可能问题

博主使用devc5.11&#xff0c;win7&#xff0c;创建了一个c工程以后编译一直提示“源文件未编译”&#xff0c;查了两小时博客期间反复重装&#xff0c;最后还是靠自己误打误撞解决了&#xff0c;解决步骤如下&#xff1a; 1、安装时语言选择English。 网上各种教程教新人安装…

vmware网络桥接模式无法上网的解决办法

1.vmware->编辑->虚拟网络编辑器->桥接模式->选择有线网卡 2.VMware-虚拟机设置-网络适配器-桥接模式-复制物理网络连接状态、启动时连接 3.重启虚拟机&#xff0c;完成 如果出现连接到网络但是无法上网的情况&#xff0c;还需做如下处理 1.sudo gedit /etc/res…

oracle idm_深入了解Oracle IDM审核

oracle idm在处理敏感信息的任何产品中&#xff0c; 报告都是至关重要的功能。 同样适用于身份和访问管理工具。 Oracle IDM的审核模块是其OOTB报告功能的基础。 让我们快速了解一下审核引擎以及它如何促进OIM中的报告功能。 这里介绍的用例很简单– 在OIM中更改为用户记录。 …

C语言编写贪吃蛇游戏

自己用C语言编写一个贪吃蛇游戏&#xff0c;效果如图&#xff1a; 源代码可免费下载&#xff0c;传送门如下&#xff1a; 点击下载贪吃蛇游戏和源代码

JDK 13中的JEP 355文本块

JDK 13已于2019年9月17日上线GA&#xff0c; 此处列出了重要的新功能。 新功能之一是“文本块”。 这样可以轻松地编写多行字符串&#xff0c;而不必在拆分成不同的行时进行串联。 让我们快速了解创建多行字符串的不同方法&#xff1a; String aBlock """ SE…

java8 默认方法_默认方法:Java 8的无名英雄

java8 默认方法几周前&#xff0c;我写了一个博客&#xff0c;说开发人员学习新语言是因为它们很酷。 我仍然坚持这个主张&#xff0c;因为关于Java 8的事情真的很酷。 尽管毫无疑问&#xff0c;该节目的明星是添加了Lambdas和将函数提升为一等变量&#xff0c;但我目前最喜欢的…

两个常见的并发错误

作为Baeldung的编辑&#xff0c;我很高兴与一位作者一起撰写有关Java通用并发陷阱的文章。 这是一本不错的书&#xff0c;但是假设开发人员具有一定的能力。 我已经看到了几件即时并发失败的事情。 它们很容易添加到代码中&#xff0c;并保证为您提供奇怪的结果。 开发人员仍会…

kotlin自定义View出现 java.lang.ClassNotFoundException

问题1&#xff1a;找不到所引用的自定义View Didn’t find class “dxf.example.dxf.customviewdemo.MyTextView” on path: DexPathList 原因&#xff1a;build.gradle中 应用插件 解决&#xff1a;添加 apply plugin: ‘kotlin-android’ 问题2&#xff1a; java.lang.Cl…

javafx swing_JavaFX技巧9:请勿混用Swing / JavaFX

javafx swingJavaFX团队非常努力地说服我们&#xff0c;因为可以将Swing内容嵌入JavaFX UI中&#xff0c;反之亦然&#xff0c;因此从Swing迁移到JavaFX很容易。 我必须承认&#xff0c;我从来没有尝试过&#xff0c;但是根据我从客户那里得到的反馈&#xff0c;我只能建议不要…