如果你曾經(jīng)使用主流構(gòu)建系統(tǒng)(如Ant、Maven或Gradle)實(shí)現(xiàn)過(guò)Java項(xiàng)目,那么你可能已經(jīng)注意到,你需要使用額外的語(yǔ)言來(lái)描述如何構(gòu)建你的項(xiàng)目。想學(xué)習(xí)java的同學(xué),建議考慮參加java培訓(xùn),進(jìn)一步提升自己,給自己增值。
雖然這對(duì)基本任務(wù)來(lái)說(shuō)可能很有吸引力,但對(duì)更復(fù)雜的任務(wù)來(lái)說(shuō)可能會(huì)變得更棘手。你需要學(xué)習(xí)特定的XML,編寫(xiě)詳細(xì)的配置,或者編寫(xiě)與復(fù)雜工具交織在一起的Kotlin DSL。
如果你進(jìn)一步編寫(xiě)了部署和管理發(fā)布的管道,那么你可能不得不編寫(xiě)用于CI/CD工具的shell或Groovy腳本。雖然這可能適用于簡(jiǎn)單的任務(wù),但在處理復(fù)雜性時(shí)可能會(huì)變得繁瑣。在生成常規(guī)代碼時(shí),你更愿意使用所有的知識(shí)和工具,例如IDE中的建模、重構(gòu)和運(yùn)行/調(diào)試。
這就是JeKa的用武之地。JeKa是一個(gè)非常瘦的工具,允許你從命令行或IDE中執(zhí)行任意Java源代碼。雖然乍一看這可能不是什么大不了的事情,但此功能使你能夠:
l 使用純Java代碼編寫(xiě)任意腳本,在IDE中運(yùn)行和調(diào)試它,并調(diào)用任意公共方法,這樣你就可以在一個(gè)類中托管許多腳本。
l 從命令行或任何CI/CD工具調(diào)用此代碼,無(wú)需編譯。JeKa為你處理編譯。
l 只需在腳本中使用Java生態(tài)系統(tǒng)中可用的任何庫(kù)。只需在注釋中聲明依賴項(xiàng),JeKa就會(huì)在幕后解決它們。
有了這個(gè)功能,你就可以擺脫神秘的shell腳本,實(shí)現(xiàn)功能強(qiáng)大且可移植的腳本,而不需要額外的知識(shí)。在java培訓(xùn)中,有很多框架的學(xué)習(xí),還有實(shí)戰(zhàn)操作項(xiàng)目,讓你將學(xué)到的知識(shí)真正運(yùn)用到實(shí)踐中去,掌握java知識(shí)和技能。
JeKa的第二個(gè)階段是它嵌入的實(shí)用程序。在編寫(xiě)腳本時(shí),你可以使用任何庫(kù),但JeKa還捆綁了一些在實(shí)現(xiàn)自動(dòng)化任務(wù)時(shí)經(jīng)常需要的實(shí)用程序,例如處理文件集和zip文件、Git、同步啟動(dòng)操作系統(tǒng)進(jìn)程并檢索結(jié)果、Java編譯/測(cè)試、Maven依賴性/回購(gòu)管理、完整的JVM項(xiàng)目構(gòu)建模型和XML處理。
這些實(shí)用程序可以幫助你實(shí)現(xiàn)CI/CD管道,甚至構(gòu)建/測(cè)試整個(gè)Java項(xiàng)目。
最后一個(gè)階段由一個(gè)插件和參數(shù)化機(jī)制組成,允許JeKa成為構(gòu)建工具空間中的一流公民。每個(gè)插件都提供了方法和配置來(lái)集成外部技術(shù),只需最少的工作量或無(wú)需鍵入即可。目前,JVM項(xiàng)目、Node.js、Spring Boot、SonarQube、JaCoCo、Kotlin、Protocol Buffers和Nexus存儲(chǔ)庫(kù)都有插件。
有了所有這些功能,JeKa可以讓你實(shí)現(xiàn)一個(gè)完整的Java項(xiàng)目,并使用一種語(yǔ)言實(shí)現(xiàn)自動(dòng)化交付。這種語(yǔ)言可以是Java,也可以是Kotlin,因?yàn)镴eKa為兩者提供了相同的功能。參加java培訓(xùn),掌握最新技術(shù),增強(qiáng)自身競(jìng)爭(zhēng)力,不斷提升自己。
此外,還有一個(gè)IntelliJ插件可以改善JeKa的用戶體驗(yàn)。
為了更好地理解,請(qǐng)查看這個(gè)GitHub存儲(chǔ)庫(kù),它展示了許多使用Jeka構(gòu)建的項(xiàng)目。通過(guò)這一點(diǎn),你將深入了解如何利用Jeka來(lái)構(gòu)建具有流行技術(shù)的項(xiàng)目,如Spring Boot、Kotlin、Node.js、SonarQube和JaCoCo。
Jeka還提供了詳細(xì)的文檔,詳細(xì)描述了它的工作原理。你不會(huì)被留在自己的設(shè)備使用它。
你覺(jué)得這項(xiàng)倡議怎么樣?你認(rèn)為JeKa可以緩解整個(gè)開(kāi)發(fā)交付周期嗎?想了解有關(guān)JeKa更多詳細(xì)信息,建議參加Java培訓(xùn),通過(guò)系統(tǒng)全面的學(xué)習(xí),可以快速提升自己。