2023-06-21 21:26:58來(lái)源:程序員客棧
如果你想構(gòu)建一個(gè)支持命令行參數(shù)的程序,那么 jcommander 非常適合你,jcommander 是一個(gè)只有幾十 kb 的 Java 命令行參數(shù)解析工具,可以通過(guò)注解的方式快速實(shí)現(xiàn)命令行參數(shù)解析。
(資料圖)
這篇教程會(huì)通過(guò)介紹 jcommadner ,快速的創(chuàng)建一個(gè)命令行程序,最后支持的命令參數(shù)功能如下圖。
這個(gè)命令行工具仿照 git 操作命令,主要提供了如下功能命令:
1.?git-app.jar -help查看命令幫助信息。
2.?git-app.jar -version查看當(dāng)前版本號(hào)。
3.?git-app.jar clone http://xxxx通過(guò) URL 克隆一個(gè)倉(cāng)庫(kù)。
4.?git-app.jar add file1 file2暫存 file1 文件 file2 文件。
5.?git-app.jar commit -m "注釋"提交并添加注釋。
jcommander 引入截止文章編寫(xiě)時(shí)間,最新版本如下:
jcommander 參數(shù)綁定com.beust jcommander 1.82
命令行解析中,參數(shù)解析與綁定是最實(shí)用的一個(gè)場(chǎng)景,jcommander 使用?Parameter注解進(jìn)行參數(shù)綁定。我們定義一個(gè)?GitCommandOptions.java類來(lái)測(cè)試參數(shù)綁定。
package?com.wdbyte.jcommander.v1;import?com.beust.jcommander.Parameter;/**?*?@author?https://www.wdbyte.com?*/public?class?GitCommandOptions?{????@Parameter(names?=?{"clone"},????????description?=?"克隆遠(yuǎn)程倉(cāng)庫(kù)數(shù)據(jù)")????private?String?cloneUrl;????public?String?getCloneUrl()?{????????return?cloneUrl;????}}
使用 jcommander 結(jié)合 GitCommandOptions 來(lái)解析參數(shù)。
package?com.wdbyte.jcommander.v1;import?com.beust.jcommander.JCommander;/**?*?@author?https://www.wdbyte.com?*/public?class?GitApp?{????public?static?void?main(String[]?args)?{????????????//?args?=?new?String[]{"clone","http://www.wdbyte.com/test.git"};????????GitCommandOptions?gitCommandOptions?=?new?GitCommandOptions();????????JCommander?commander?=?JCommander.newBuilder()????????????.addObject(gitCommandOptions)????????????.build();????????commander.parse(args);????????System.out.println("clone?"?+?gitCommandOptions.getCloneUrl());????}}
打包后可以執(zhí)行命令參數(shù):
$?java?-jar?git-app.jar?clone?http://www.wdbyte.com/test.gitclone?http://www.wdbyte.com/test.git
這里是一個(gè)字符串參數(shù),需要在命令中輸出參數(shù)值,對(duì)于 boolean 類型的參數(shù),不需要傳值,有命令即為 true 值。
參數(shù)名稱@Parameter注解中的?names屬性可以定義參數(shù)的名稱。且可以指定多個(gè)參數(shù)名稱,讓我再添加?version參數(shù)和?help參數(shù),同時(shí)設(shè)置參數(shù)別名。這兩個(gè)參數(shù)是 boolean 類型。
@Parameter(names?=?{"help",?"-help",?"-h"},????description?=?"查看幫助信息",????help?=?true)private?boolean?help;@Parameter(names?=?{"version",?"-version",?"-v"},????description?=?"顯示當(dāng)前版本號(hào)")private?boolean?version?=?false;參數(shù)限制
clone參數(shù)可以接受一個(gè)要克隆的 URL 鏈接,但是正常情況下只需要一個(gè) URL 鏈接。可以通過(guò)?arity = 1進(jìn)行限制。
@Parameter(names?=?{"clone"},????description?=?"克隆遠(yuǎn)程倉(cāng)庫(kù)數(shù)據(jù)",????arity?=?1)private?String?cloneUrl;幫助信息
使用?usage()參數(shù)可以打印命令幫助信息。
GitCommandOptions?gitCommandOptions?=?new?GitCommandOptions();JCommander?commander?=?JCommander.newBuilder()????.addObject(gitCommandOptions)????.build();commander.parse(args);//?打印幫助信息commander.usage();
運(yùn)行輸出幫助信息:
$?java?-jar?git-app.jarUsage:?[options]??Options:????clone??????克隆遠(yuǎn)程倉(cāng)庫(kù)數(shù)據(jù)????help,?-help,?-h??????查看幫助信息????version,?-version,?-v??????顯示當(dāng)前版本號(hào)??????Default:?false
雖然正確的輸出了幫助信息,但是其中有?main class這段,是因?yàn)槲覀儧](méi)有指定項(xiàng)目名稱,我們指定項(xiàng)目名稱為?git-app。
JCommander?commander?=?JCommander.newBuilder()????????????.programName("git-app")????????????.addObject(gitCommandOptions)????????????.build();參數(shù)排序
在幫助信息中,如果想要自定義參數(shù)順序,可以通過(guò)?order =?來(lái)排序,數(shù)字越小越靠前。
@Parameter(names?=?{"version",?"-version",?"-v"},????description?=?"顯示當(dāng)前版本號(hào)",????order?=?2)private?boolean?version?=?false;參數(shù)綁定完整測(cè)試
package?com.wdbyte.jcommander.v2;import?com.beust.jcommander.Parameter;/**?*?@author?https://www.wdbyte.com?*/public?class?GitCommandOptions?{????@Parameter(names?=?{"help",?"-help",?"-h"},????????description?=?"查看幫助信息",????????order?=?1,????????help?=?true)????private?boolean?help;????@Parameter(names?=?{"clone"},????????description?=?"克隆遠(yuǎn)程倉(cāng)庫(kù)數(shù)據(jù)",????????order?=?3,????????arity?=?1)????private?String?cloneUrl;????@Parameter(names?=?{"version",?"-version",?"-v"},????????description?=?"顯示當(dāng)前版本號(hào)",????????order?=?2)????private?boolean?version?=?false;????//...get?method}
GitApp.java
package?com.wdbyte.jcommander.v2;import?com.beust.jcommander.JCommander;public?class?GitApp?{????public?static?void?main(String[]?args)?{????????GitCommandOptions?gitCommandOptions?=?new?GitCommandOptions();????????JCommander?commander?=?JCommander.newBuilder()????????????.programName("git-app")????????????.addObject(gitCommandOptions)????????????.build();????????commander.parse(args);????????//?打印幫助信息????????if?(gitCommandOptions.isHelp())?{????????????commander.usage();????????????return;????????}????????if?(gitCommandOptions.isVersion())?{????????????System.out.println("git?version?2.24.3?(Apple?Git-128)");????????????return;????????}????????if?(gitCommandOptions.getCloneUrl()?!=?null)?{????????????System.out.println("clone?"?+?gitCommandOptions.getCloneUrl());????????}????}}
運(yùn)行測(cè)試:
jcommander 參數(shù)驗(yàn)證在上面的例子中, 假設(shè) clone 命令傳入的參數(shù)必須是一個(gè) URL,那么我們就要進(jìn)行參數(shù)驗(yàn)證,jcommander 也提供了特有的參數(shù)驗(yàn)證方式。
1.?編寫(xiě)參數(shù)驗(yàn)證類,需要實(shí)現(xiàn)?IParameterValidator接口。
package?com.wdbyte.jcommander.v3;import?java.net.MalformedURLException;import?java.net.URL;import?com.beust.jcommander.IParameterValidator;import?com.beust.jcommander.ParameterException;/**?*?@author?https://www.wdbyte.com?*/public?class?UrlParameterValidator?implements?IParameterValidator?{????@Override????public?void?validate(String?key,?String?value)?throws?ParameterException?{????????try?{????????????new?URL(value);????????}?catch?(MalformedURLException?e)?{????????????throw?new?ParameterException("參數(shù)?"?+?key?+?"?的值必須是?URL?格式");????????}????}}
2.?clone參數(shù)指定驗(yàn)證類。
@Parameter(names?=?{"clone"},????description?=?"克隆遠(yuǎn)程倉(cāng)庫(kù)數(shù)據(jù)",????validateWith?=?UrlParameterValidator.class,????order?=?3,????arity?=?1)private?String?cloneUrl;
運(yùn)行測(cè)試:
$?java?-jar?git-app.jar?clone?https://www.wdbyte.com/test.gitclone?https://www.wdbyte.com/test.git$?java?-jar?git-app.jar?clone?test.gitException?in?thread?"main"?com.beust.jcommander.ParameterException:?參數(shù)?clone?的值必須是?URL?格式????at?com.wdbyte.jcommander.v3.UrlParameterValidator.validate(UrlParameterValidator.java:19)????at?com.beust.jcommander.ParameterDescription.validateParameter(ParameterDescription.java:377)????at?com.beust.jcommander.ParameterDescription.validateParameter(ParameterDescription.java:344)jcommander 子命令
在使用 git 時(shí),我們經(jīng)常會(huì)使用下面兩個(gè)命令。
1.?git add file1 file2暫存 file1 文件 file2 文件。
2.?git commit -m "注釋"提交并添加注釋。
什么是子命令這是一種很常見(jiàn)的操作,git commit除了可以跟?-m子參數(shù)外,還可以跟各種參數(shù),通過(guò) git 幫助文檔可以看到。
git?commit?[-a?|?--interactive?|?--patch]?[-s]?[-v]?[-u]?[--amend]???????????[--dry-run]?[(-c?|?-C?|?--fixup?|?--squash)? ]???????????[-F? |?-m? ]?[--reset-author]?[--allow-empty]???????????[--allow-empty-message]?[--no-verify]?[-e]?[--author=]???????????[--date= ]?[--cleanup= ]?[--[no-]status]???????????[-i?|?-o]?[-S[ ]]?[--]?[ ...]
這種有子參數(shù)的情況,我們可以稱?commit為 git 的一個(gè)子命令,使用 jcommander 如何配置子命令呢?
jcommander 子命令實(shí)現(xiàn)我們新增子命令對(duì)應(yīng)的參數(shù)類 GitCommandCommit.java.
package?com.wdbyte.jcommander;import?com.beust.jcommander.Parameter;import?com.beust.jcommander.Parameters;/**?*?git?commit?-m?"desc"?*?@author?https://www.wdbyte.com?*/@Parameters(commandDescription?=?"提交文件",?commandNames?=?"commit")public?class?GitCommandCommit?{??????public?static?final?String?COMMAND?=?"commit";??????@Parameter(names?=?{"-comment",?"-m"},????????description?=?"請(qǐng)輸入注釋",????????arity?=?1,????????required?=?true)????private?String?comment;????public?String?getComment()?{????????return?comment;????}}
代碼中使用?@Parameters注解指定了子命令為?commit,同時(shí)使用?@Paramete注解指定子參數(shù)?-m,同時(shí)?-m參數(shù)是必須的,使用屬性?required = true來(lái)指定。
使用 GitCommandCommit:
使用?addCommand添加?Commit命令參數(shù)類。
GitCommandOptions?gitCommandOptions?=?new?GitCommandOptions();GitCommandCommit?commandCommit?=?new?GitCommandCommit();JCommander?commander?=?JCommander.newBuilder()????.programName("git-app")????.addObject(gitCommandOptions)????.addCommand(commandCommit)????.build();commander.parse(args);String?parsedCommand?=?commander.getParsedCommand();if?("commit".equals(parsedCommand))?{????System.out.println(commandCommit.getComment());}
運(yùn)行測(cè)試:
$?java?-jar?git-app.jar?commit?-m?"注釋一下"注釋一下
同上,我們可以添加?add命令對(duì)應(yīng)的參數(shù)類:GitCommandAdd.java. 這次我們定義一個(gè) List 類型參數(shù),但是不在屬性上指定子參數(shù)名稱。
package?com.wdbyte.jcommander.v5;import?java.util.List;import?com.beust.jcommander.Parameter;import?com.beust.jcommander.Parameters;/**?*?git?add?file1?file2?*?*?@author?https://www.wdbyte.com?*/@Parameters(commandDescription?=?"暫存文件",?commandNames?=?"add",?separators?=?"?")public?class?GitCommandAdd?{????public?static?final?String?COMMAND?=?"add";????@Parameter(description?=?"暫存文件列表")????private?Listfiles;????public?List getFiles()?{????????return?files;????}}
同樣添加到子命令:
JCommander?commander?=?JCommander.newBuilder()????.programName("git-app")????.addObject(gitCommandOptions)????.addCommand(commandCommit)????.addCommand(commandAdd)????.build();commander.parse(args);if?("add".equals(parsedCommand))?{????for?(String?file?:?commandAdd.getFiles())?{????????System.out.println("暫存文件:"?+?file);????}}
運(yùn)行測(cè)試:
$?java?-jar?git-app.jar?add?file1.txt?file2.txt暫存文件:file1.txt暫存文件:file2.txtjcommander 參數(shù)轉(zhuǎn)換
在上面的?GitCommandAdd代碼中,add命令傳入的都是文件路徑,現(xiàn)在是使用?List
首先編寫(xiě)一個(gè)轉(zhuǎn)換類 FilePathConverter 用于把入?yún)⑥D(zhuǎn)換成 Path 類,同時(shí)校驗(yàn)文件是否存在
package?com.wdbyte.jcommander;import?java.nio.file.Files;import?java.nio.file.Path;import?java.nio.file.Paths;import?com.beust.jcommander.IStringConverter;import?com.beust.jcommander.ParameterException;/**?*?*?@author?https://www.wdbyte.com?*/public?class?FilePathConverter?implements?IStringConverter{????@Override????public?Path?convert(String?filePath)?{????????Path?path?=?Paths.get(filePath);????????if?(Files.exists(path))?{????????????return?path;????????}????????throw?new?ParameterException(String.format("文件不存在,path:%s",?filePath));????}}
通過(guò)注解指定轉(zhuǎn)換類:
@Parameter(description?=?"暫存文件列表",?converter?=?FilePathConverter.class)private?Listfiles;
打包測(cè)試:
$?java?-jar?git-app.jar?add?file1?file2文件不存在,path:file1$?ls?-ltotal?12448drwxr-xr-x??2?darcy??staff????64B??6?15?21:10?archive-tmpdrwxr-xr-x??3?darcy??staff????96B??6?15?21:10?classesdrwxr-xr-x??3?darcy??staff????96B??6?15?21:10?generated-sources-rw-r--r--??1?darcy??staff???5.6M??6?16?20:44?git-app.jar$?git-app.jar?git-app.jar暫存文件:git-app.jar總體測(cè)試
一如既往,文章代碼都存放在?Github.com/niumoo/javaNotes.
參考:https://jcommander.org/
關(guān)鍵詞:
責(zé)任編輯:前言如果你想構(gòu)建一個(gè)支持命令行參數(shù)的程序,那么jcommander非常適合你
海關(guān)總署:2023年5月份我國(guó)變壓器出口總量67 33億個(gè),同比下滑21 63%,
有生之年,欣喜相逢,點(diǎn)擊上方“關(guān)注”了解更多名人故事?!逗⒆油酢穭?/p>
黃蓋玻汾-清香型綠脖西鳳-鳳香型 綠脖西鳳是光瓶酒是比較經(jīng)典的一款了
前言如果你想構(gòu)建一個(gè)支持命令行參數(shù)的程序,那么jcommander非常適合你
(文 解紅娟編輯 馬媛媛)“蝶城戰(zhàn)略,我原來(lái)以為講3遍就夠了,后來(lái)發(fā)
海關(guān)總署:2023年5月份我國(guó)變壓器出口總量67 33億個(gè),同比下滑21 63%,
瑞馳信息科技自研了安卓云服務(wù)器,將原本在單個(gè)手機(jī)上使用的安卓系統(tǒng)虛
往往人們都知道巨蟹座缺乏安全感,其實(shí)獅子何嘗不是,但為了維護(hù)自己王
有生之年,欣喜相逢,點(diǎn)擊上方“關(guān)注”了解更多名人故事。《孩子王》劇
舉世知名的哈尼梯田,被認(rèn)為是人類用雙手創(chuàng)造的世界農(nóng)耕奇觀。1000多年
比亞迪已成立多家仰望銷售公司 天眼查App顯示,6月20日,武漢仰望汽車(chē)
佩戴香包的寓意,香包的寓意這個(gè)很多人還不知道,現(xiàn)在讓我們一起來(lái)看看
中新網(wǎng)西寧6月21日電(祁增蓓 張生海 袁昌玲)21日,記者從中國(guó)
今年,【3年質(zhì)?!砍蔀榱索茸宓年P(guān)鍵詞,只需要在6月20日前購(gòu)買(mǎi)、6月27
這件牛仔連體長(zhǎng)裙正面的單排扣門(mén)襟設(shè)計(jì)簡(jiǎn)單大方,還帶了一點(diǎn)復(fù)古的感覺(jué)
切爾西中場(chǎng)坎特加盟沙特俱樂(lè)部吉達(dá)聯(lián)合,藍(lán)軍隊(duì)友里斯-詹姆斯在社交媒
北京商報(bào)訊(記者劉洋劉曉夢(mèng))6月21日,國(guó)家市場(chǎng)監(jiān)督管理總局發(fā)布公告
三階魔方分為6個(gè)面,12個(gè)邊,8個(gè)角。有紅橙黃白藍(lán)綠6種顏色,紅橙相對(duì)
隨著夏季的來(lái)臨,旅游旺季也悄然而至,很多人都將外出旅行計(jì)劃提上日程
↑6月20日,河南省焦作市溫縣黃莊鎮(zhèn)西林肇村農(nóng)民在鐵棍山藥種植基地進(jìn)
廣州2023年6月21日 美通社 --6月15日,第十八屆中國(guó)國(guó)際中小企業(yè)博覽會(huì)
黃蓋玻汾-清香型綠脖西鳳-鳳香型 綠脖西鳳是光瓶酒是比較經(jīng)典的一款了
此事的起因是駛?cè)胛液D鲜∪呈腥蕫?ài)礁的菲律賓軍艦“馬德雷山號(hào)”,
收盤(pán)綜述:三大指數(shù)集體收跌復(fù)合集流體表現(xiàn)強(qiáng)勢(shì)
運(yùn)河邊上烤肉季飯莊的炙子烤肉,便宜坊的燜爐烤鴨,東來(lái)順?shù)倘猓秋?/p>
【專家談】作者:李瑞(武漢大學(xué)城市設(shè)計(jì)學(xué)院副教授)黨的二十大報(bào)告提
中新網(wǎng)義烏6月21日電(董易鑫 方維 陳佳琪 車(chē)志蒙)“在義烏生活這
IT之家6月21日消息,在推出HOFEXTREME50SSD之后,影馳發(fā)布了旗下第二款
福建莆田東吳港區(qū)上半年出入境船舶同比上升逾五成---21日中午,在福建
6月21日,北大光華管理學(xué)院與騰訊聯(lián)合宣布,將共同推出“企業(yè)管理者人
寧鄉(xiāng)市檢察院、寧鄉(xiāng)市人民法院、寧鄉(xiāng)市公安局聯(lián)合開(kāi)展土地保護(hù)普法宣傳
6月20日,摩根士丹利將百度(BIDU US)投資評(píng)級(jí)從“與大市同步”上調(diào)至“
為創(chuàng)新“種子”厚植沃土上海張江集聚150余家孵化器---新華社上海6月21
北京時(shí)間6月21日消息,根據(jù)西班牙媒體RELEVO的最新消息,巴塞羅那即將
中新網(wǎng)重慶6月21日電 (張旭)記者21日從京昆高速鐵路西昆有限公司獲
尋道大千是微信小程序最近新推出的一款修仙小游戲,玩家輸入兌換碼后即
全媒體記者許湘兵?實(shí)習(xí)生徐瑞澤報(bào)道??6月20日上午,副市長(zhǎng)徐超文帶
6月21日,據(jù)阿里資產(chǎn)拍賣(mài)網(wǎng)顯示,四川盛豪房地產(chǎn)開(kāi)發(fā)投資有限公司(以
直播吧6月21日訊據(jù)全市場(chǎng)報(bào)道,米蘭本想引進(jìn)鮑姆加特納代替迪亞斯,但
據(jù)了解,在618期間,京東科技攜手中國(guó)銀行、建設(shè)銀行等多家銀行,為用
公積金貸款可貸額度,要看當(dāng)?shù)匾?guī)定最高可貸額、個(gè)人還款能力可貸額和購(gòu)
思林杰(688115)6月21日在互動(dòng)平臺(tái)表示,公司在研新產(chǎn)品在技術(shù)原理上可
廣聯(lián)航空(300900):作為聯(lián)合體牽頭方中標(biāo)浙江華瑞航空制造有限公司中機(jī)
上證報(bào)中國(guó)證券網(wǎng)訊(記者孔子元)*ST龐大公告,公司收到上海證券交易
近日,上汽通用五菱旗下的大空間五門(mén)純電車(chē)五菱繽果在武漢亮相。自3月2
2023年6月21日,端午節(jié)假期來(lái)臨之際,由90后青年導(dǎo)演孫傲謙執(zhí)導(dǎo),于坤
20日,亞歐之心簽約儀式暨媒體發(fā)布會(huì)在新疆克拉瑪依市舉行。“亞歐之心
在如今快節(jié)奏的生活中,人們對(duì)于便利性和效率的需求越來(lái)越高。便利店作
西部礦業(yè)(601168)06月21日在投資者關(guān)系平臺(tái)上答復(fù)了投資者關(guān)心的問(wèn)題。
金融界6月21日消息國(guó)家新聞出版署發(fā)布6月國(guó)產(chǎn)網(wǎng)絡(luò)游戲?qū)徟畔?,?9款
來(lái)為大家解答以下的問(wèn)題,入互聯(lián)網(wǎng)以登錄iphone怎么解決7P,接入互聯(lián)網(wǎng)
《偷偷藏不住》播出之后,趙露思扮演的桑稚是否采用配音和原音成為網(wǎng)友
中新網(wǎng)廣州6月21日電 (記者 王堅(jiān))記者21日從廣東省科技廳獲悉,該
銀行財(cái)眼|違規(guī)辦理虛假保理融資業(yè)務(wù)等2項(xiàng)違規(guī)交通銀行武漢青山分行被
來(lái)源:圖蟲(chóng)創(chuàng)意近日,多家券商收到研報(bào)罰單。6月19日,事涉研報(bào)問(wèn)題,
福森藥業(yè)(01652)發(fā)布公告,該公司于2023年6月21日斥資約18 78萬(wàn)港元
南鋼股份(600282)06月21日在投資者關(guān)系平臺(tái)上答復(fù)了投資者關(guān)心的問(wèn)題。
我國(guó)法律明確規(guī)定,用人單位如果單方與勞動(dòng)者解除勞動(dòng)合同,需要提前三
南方財(cái)經(jīng)6月21日電,無(wú)錫振華公告,擬以5000萬(wàn)元-1億元回購(gòu)股份,回購(gòu)
舉世知名的哈尼梯田,被認(rèn)為是人類用雙手創(chuàng)造的世界農(nóng)耕奇觀。1000多年
情侶談戀愛(ài)分手后,男生叫跑腿送消費(fèi)清單,男生:不做賠錢(qián)的買(mǎi)賣(mài),愛(ài)情
23興城Y3發(fā)布發(fā)行公告
來(lái)為大家解答以下的問(wèn)題,組詞,園組詞這個(gè)很多人還不知道,現(xiàn)在讓我們
霍邱縣龍?zhí)舵?zhèn)陳鵬村地處霍邱最西部,與河南固始縣張廣鄉(xiāng)一河之隔,生態(tài)
成都白點(diǎn)癲風(fēng)醫(yī)院有幾家?男性朋友患有白癜風(fēng)如何避免病情加重?男性患上
經(jīng)濟(jì)增值:通過(guò)將部分保費(fèi)投資到金融市場(chǎng)中,中長(zhǎng)期理財(cái)保險(xiǎn)可以幫助購(gòu)
魯中網(wǎng)淄博6月21日訊在“6 26”國(guó)際禁毒日來(lái)臨之際,為深入推進(jìn)禁毒宣
在黎明覺(jué)醒正式公測(cè)之后,很快也迎來(lái)了今年的端午節(jié)。官方也為大家準(zhǔn)備
2023年養(yǎng)老金上漲3 8%,這是繼2005年以來(lái)的第19漲,雖然上漲幅度比去
江波龍2023年6月21日在深交所互動(dòng)易中披露,截至2023年6月20日公司股東
開(kāi)源證券股份有限公司趙悅媛,鄧健全近期對(duì)模塑科技進(jìn)行研究并發(fā)布了研
文、圖 羊城晚報(bào)全媒體記者王俊偉通訊員虎門(mén)宣6月18日晚,東莞交警虎門(mén)
央廣網(wǎng)蘇州6月21日消息(記者鄭楚豫)6月20日,2023全球人工智能產(chǎn)品應(yīng)
5月22日,全國(guó)養(yǎng)老金調(diào)整通告已經(jīng)公布。接下來(lái),退休老人們就非常焦急
這是為考研輔導(dǎo)班準(zhǔn)備的資料,準(zhǔn)備以后陸續(xù)發(fā)出一些專題,特別是對(duì)學(xué)生經(jīng)
電商報(bào)快訊:轉(zhuǎn)轉(zhuǎn)集團(tuán)憑借在循環(huán)經(jīng)濟(jì)領(lǐng)域的創(chuàng)新成就和領(lǐng)先優(yōu)勢(shì),以及在
第一時(shí)間提供各大券商研究所報(bào)告,最大程度減少個(gè)人投資者與機(jī)構(gòu)之間信
@中國(guó)天氣端午節(jié)假期將至,各地出游熱度持續(xù)攀升,今年端午假期(6月22
每經(jīng)AI快訊,勁拓股份(SZ300400,收盤(pán)價(jià):15 51元)6月21日晚間發(fā)布公
神州高鐵最新股東戶數(shù)9 03萬(wàn)戶,高于行業(yè)平均水平。公司戶均持有流通股
公司為控股子公司浙江博苑建設(shè)有限公司接受興業(yè)銀行股份有限公司寧波分
你的情人,在我們離婚后,跟我發(fā)消息說(shuō),本以為我們作為過(guò)錯(cuò)方,要凈身
天津津南城市建設(shè)投資有限公司擬發(fā)行2023年度第二期中期票據(jù)及2023年度
2023年的養(yǎng)老金調(diào)整正在如火如荼的進(jìn)行中。按照國(guó)養(yǎng)老金調(diào)整的步驟安排
護(hù)衛(wèi)校園安全小小救護(hù)員持證上線“確認(rèn)現(xiàn)場(chǎng)環(huán)境安全,現(xiàn)場(chǎng)發(fā)現(xiàn)因溺水導(dǎo)
16g烏2630,白2680。32g烏2670,白2680。華強(qiáng)北一手批發(fā)報(bào)價(jià)。你自己買(mǎi)
工傷還能領(lǐng)工資,工傷職工可以享受工傷待遇,工傷可以得到的賠償主要是
由迷你鯨工作室開(kāi)發(fā),AnotherIndie發(fā)行的國(guó)產(chǎn)類自走棋策略游戲《魔王終
6月21日電,針對(duì)新能源購(gòu)置稅減免政策,蔚來(lái)創(chuàng)始人、董事長(zhǎng)、CEO李斌在
迎賓水廠(一期)新建工程效果圖6月21日,由城投水務(wù)投資建設(shè)的迎賓水
今天來(lái)聊聊開(kāi)系統(tǒng)服務(wù)命令,系統(tǒng)服務(wù)怎么打開(kāi)的文章,現(xiàn)在就為大家來(lái)簡(jiǎn)
天眼查App顯示,6月20日,姚振華以及深圳市寶能投資集團(tuán)有限公司、寶能
6月20日,中國(guó)網(wǎng)絡(luò)安全產(chǎn)業(yè)聯(lián)盟發(fā)布《2023年中國(guó)網(wǎng)絡(luò)安全市場(chǎng)與企業(yè)競(jìng)
Northvolt是一家電池制造商,提供可持續(xù)、高品質(zhì)電池和電池系統(tǒng)。目前
靜候佳音下一句是虔誠(chéng)以待。“靜候佳音,虔誠(chéng)以待”的意思是:靜靜地等
dotapa是幻影刺客;英文名字:PhantomAssassin,縮寫(xiě)PA?;糜按炭褪腔?/p>
停息掛賬的本質(zhì)是什么?個(gè)性化分期和停息掛賬在本質(zhì)上就不一樣。停息
為這些行駛里程供電的超級(jí)充電站的市場(chǎng)份額隨后,Jonas團(tuán)隊(duì)以20倍的203
不過(guò),這輪清涼停留的時(shí)間非常短,今天開(kāi)始,隨著大陸高壓東移,華北黃
我國(guó)有14億多人口,中等收入群體規(guī)模超過(guò)4億人,是全球最具潛力的大
右尺骨尺骨鷹嘴骨折,如果沒(méi)有移位,通常不嚴(yán)重。如果有移位,就比較嚴(yán)
隨著輪臺(tái)縣生態(tài)環(huán)境不斷向好,野生動(dòng)物數(shù)量逐漸增多,種類日益豐富,連
1、一般有12珠,13珠,16珠。還有14珠,18珠,21珠,54珠,108珠,1080