红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

Oracle 为标准化 JDK 中命令行选项作准备

  • 2016-07-31
  • 本文字数:782 字

    阅读完需:约 3 分钟

Oracle 公司 Java SE 语言工具团队领导 Jonathan Gibbons 创造了 JEP 293 ,以引进一套 JDK 工具中的命令行选项准则来修复现有的它们之间存在的差异。JEP 目前还没有目标版本,所以最快将会和 Java 10 一起交付。然而,考虑到它仅仅是为新的选项创造一套准则,而不是修改现有的选项,所以可能需要一段时间才能感受到它的效果。

正如在 JEP 中所述,JDK 中不同的工具的命令行选项格式都不对齐。比如说,短的选项有时候只有一个字母(比如 -p 表示一个模块),但有时候又超过一个字母(比如说现有的 -cp 指令代表路径)。同时,相同的选项会被不同的工具以不同的方法调用,比如 javac 中的 -version 指令与 pack200 中–version 指令(请注意这里是两个破折号)。这会给创造 JDK 工具上的功能带来困难,也会给新的开发者熟悉了解命令行选项带来困难。

为了解决这种情况,新的 JEP 将为新的命令行选项创造一套新的标准,类似于 UNIX 的风格,很大程度上基于 getopt(3) 。虽然可以在文档中查看到完整的内容,但是与用户息息相关的一些准则罗列在下面:

  • 选项必须有一个长的和一个短的格式。短格式由一个破折号和一个字母组成,长格式有两个破折号开头,之后可以添加需要多的字母和破折号。
  • 短选项可以相互组合,例如说 -m -k 与 -mk 相同。
  • 选项需要有一个可选参数。
  • 在所有工具中,帮助选项都必须保持一致。

与向后兼容的理念一致,JEP 的准则只适用于新的命令行选项,但不适用于现有的命令行选项。这就代表着,即使它们不满足准则,一部分或者所有的现有选项将不被移除。此外,新的准则选项将与现有的准则一同运作,所以有的功能将会拥有新的和旧的命令行选项。虽然这听上去是向后兼容的一个很好的折中和改进,但是讨论组中一些人指出一些模棱两可的问题将很难解决。随着发展,准则将进行调整以适应这些问题。

查看英文原文 Oracle Paves the Way to Standardise Command Line Options in the JDK

2016-07-31 19:001681
用户头像

发布了 218 篇内容, 共 64.6 次阅读, 收获喜欢 75 次。

关注

评论

发布
暂无评论
发现更多内容

Office 2019正式版 办公软件套装Office 2019 mac激活版

mac

苹果mac Windows软件下载 office 2019 办公软件套装

一文让你简单知道银行建设堡垒机的意义

行云管家

网络安全 银行 堡垒机

撮合前端平台在低代码平台的落地实践 | 京东云技术团队

京东科技开发者

前端 中台架构 低代码平台 企业号 8 月 PK 榜 撮合

3种OC渲染透明背景的方法

Finovy Cloud

学习 自学 渲染 建模 渲染器

MATLAB R2023a for Mac激活图文教程+安装密钥

胖墩儿不胖y

Mac软件 计算工具 计算软件

简单好用的防火墙 Radio Silence最新激活码

mac大玩家j

Mac软件 防火墙工具 防火墙软件 阻止网络连接软件

为什么 Higress 是 Knative 入口网关的最佳实践?

阿里巴巴云原生

阿里云 云原生 Higress

基于飞桨图学习框架的空间异配性感知图神经网络

飞桨PaddlePaddle

人工智能 百度飞桨

NFT艺术品交易平台开发搭建

V\TG【ch3nguang】

NFT数字藏品系统

印刷行业MES系统解决方案

万界星空科技

MES系统 印刷

如何把一个接口设计好? | 京东云技术团队

京东科技开发者

接口 接口设计 企业号 8 月 PK 榜

redis分布式锁,setnx+lua脚本的java实现 | 京东物流技术团队

京东科技开发者

redis setnx Lua脚本 redis 底层原理 企业号 8 月 PK 榜

软件测试/测试开发丨Selenium 高级定位 Xpath

测试人

程序员 软件测试 测试开发 selenium xpath

langchain中的LLM模型使用介绍

程序那些事

人工智能 AIGC langchain

架构师日记-软件工程里的组织文化 | 京东云技术团队

京东科技开发者

架构 软件工程 自动化测试 企业号 8 月 PK 榜 组织文化

来文心中国行!专家面对面解读大模型产业实践及AI场景突围

飞桨PaddlePaddle

人工智能 百度飞桨 百度AI 文心一言 文心大模型

生成式AI引领数据中心网络升级

百度开发者中心

#人工智能 ChatGPT 文心一言

AI区块链量化交易平台搭建开发

V\TG【ch3nguang】

量化交易系统开发

NFT沙盒游戏开发搭建

V\TG【ch3nguang】

NFT数字藏品系统

亿级月活的社交APP,陌陌如何做到3分钟定位故障?

童子龙

微服务 性能分析 链路跟踪 可观测平台

NineData X SelectDB 联合发布会,8月30日即将上线!

NineData

实时数仓 数据复制 SelectDB 产品架构 NineData

区块链交易所系统开发

V\TG【ch3nguang】

数字货币交易所系统搭建

Databend 开源周报第 108 期

Databend

大数据平台数据安全解决方案就看行云管家!

行云管家

大数据 数据安全 大数据平台

直播预约丨《实时湖仓实践五讲》第一讲:企业为什么需要实时湖仓?

袋鼠云数栈

直播 实时湖仓

区块链挖矿APP软件开发,质押流动性矿池模式系统搭建

V\TG【ch3nguang】

挖矿系统开发

中国传统文化国际交流大会暨《传承进行时》非遗晚会启动

Geek_2d6073

一道经典面试题:@Configuration 和 @Component 有何区别?

江南一点雨

Java spring

Oracle为标准化JDK中命令行选项作准备_Java_Abraham Marín Pérez_InfoQ精选文章