欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Maven項目如何鎖定JDK編譯與打包版本,避開版本錯配坑

Maven項目如何鎖定JDK編譯與打包版本,避開版本錯配坑 1. 一個版本錯配引發(fā)的連環(huán)坑前陣子幫一個團隊排查問題現(xiàn)象特別典型項目在開發(fā)機上跑得好好的一到構(gòu)建機上mvn clean package就報invalid target release: 17把構(gòu)建機的 JAVA_HOME 換到 17 之后編譯過了結(jié)果java -jar一啟動又拋UnsupportedClassVersionError說這個 class 文件是更高版本編譯的當(dāng)前運行環(huán)境不認識。來來回回折騰了小半天根因其實就一句話這個項目從頭到尾沒人明確說過自己該用哪個 JDK 版本編譯全靠各臺機器上碰巧裝了什么。這篇文章就圍繞java生態(tài)里最基礎(chǔ)也最容易翻車的一件事展開——maven項目如何明確指定編譯與打包所使用的JDK版本把編譯和打包兩個階段的版本來源徹底釘死。這件事的受眾比想象中廣。剛學(xué) Maven 的同學(xué)往往只知道m(xù)vn clean install能跑就算成功不知道背后是誰在調(diào)用javac更不知道去哪兒改工作兩三年的同學(xué)可能習(xí)慣了 IDEA 里點一下 Reload從沒關(guān)心過命令行構(gòu)建時用的是哪個 JDK至于團隊里的構(gòu)建維護者、CI 負責(zé)人這件事幾乎每周都要跟別人解釋一遍。我把這幾年踩過的坑、試過的幾種方案、以及每種方案的適用邊界整理在這里你可以按自己項目的實際情況直接抄配置。先說結(jié)論方便趕時間的同學(xué)對照單 JDK 環(huán)境用maven.compiler.release一行屬性就能搞定多 JDK 共存、需要嚴格隔離的場景上maven-toolchains-plugin臨時驗證用命令行切JAVA_HOME最快而fork executable這種寫法我基本不推薦后文會說為什么。但工具怎么選只是表層真正讓人反復(fù)踩坑的是那些看起來配了、其實沒生效的隱性配置這才是重點。1.1 JDK、JVM、Maven 三者的職責(zé)邊界很多人把這三個東西混著叫導(dǎo)致排查問題時抓不住重點。我們拆開看JDK是開發(fā)工具包里面包含了javac編譯器、java運行程序、javadoc、jar等一堆命令它決定了你能編譯出什么版本以及你能運行什么版本JVM是運行時是 JDK 的一部分準(zhǔn)確說是 JRE 的一部分而 JRE 又在 JDK 里只負責(zé)執(zhí)行字節(jié)碼Maven本身是一個 Java 程序它自己也是跑在某個 JVM 上的。這就帶來了一個非常關(guān)鍵的認知你機器上的 JDK 至少扮演了兩個角色——跑 Maven 的那個 JDK和編譯你代碼的那個 JDK。默認情況下它們是同一個因為 Maven 會拿自己所在 JVM 下面的javac去編譯。但這兩者是可以被分開的工具鏈機制干的就是這件事。理解了這一點后面很多為什么我改了配置還是不生效的困惑就迎刃而解了。還有一個容易被忽略的第三方角色IDE 自帶的編譯器。IntelliJ IDEA 默認不一定用 Maven 去構(gòu)建它有一套自己的增量編譯器和字節(jié)碼目標(biāo)版本設(shè)置這套設(shè)置和 pom 里的配置完全是兩個獨立的世界。這就是為什么經(jīng)常出現(xiàn)命令行編譯報錯、IDEA 里點運行卻沒事或者反過來的詭異現(xiàn)象。1.2 版本錯配的三種典型癥狀版本沒對齊報錯是分階段的認準(zhǔn)報錯出現(xiàn)的時機能省掉一大半排查時間。第一種是編譯期就掛。最常見的是invalid target release: 17意思是你讓我產(chǎn)出 17 版本的字節(jié)碼但我手里這個javac根本不認識 17。這幾乎可以斷定執(zhí)行編譯的 JDK 版本低于你配置的目標(biāo)版本。另一種是反向的報Source option 8 is no longer supported說明你用了太新的 JDK而它已經(jīng)不再支持這么老的語法目標(biāo)了——JDK 12 之后就徹底移除了對source 6的支持更老的版本還在被逐步淘汰。第二種是編譯過了運行期炸。典型報錯是UnsupportedClassVersionError: xxx has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0。這句話信息量很大61.0對應(yīng) Java 17 的字節(jié)碼52.0對應(yīng) Java 8 的運行時翻譯過來就是你用 17 編譯的卻拿 8 去跑。數(shù)字和版本的對應(yīng)關(guān)系后文會列表。第三種最陰險編譯運行都不報錯但行為不對。比如你用了 JDK 17 編譯目標(biāo)設(shè)為 8代碼里調(diào)了一個 Java 9 才有的方法編譯期毫無怨言部署到 Java 8 的服務(wù)器上運行時才拋NoSuchMethodError。這種問題的根源在于source/target參數(shù)只做語法和字節(jié)碼層面的降級它壓根不檢查你調(diào)用的 API 在那個版本里存不存在。要解決它必須用release參數(shù)這也是我后面重點推薦它的原因。2. 編譯與打包階段JDK 到底在哪里被用到2.1 編譯階段真正干活的是 javacMaven 自己不會編譯 Java 代碼。它做的事情是讀取 pom按生命周期順序調(diào)用一堆插件其中負責(zé)編譯的是maven-compiler-plugin而這個插件本質(zhì)上就是一個薄薄的包裝層它最終會去調(diào)用javac命令或者在進程內(nèi)調(diào)用編譯器 API。所以指定編譯 JDK 版本這句話拆開其實是兩個訴求一是讓哪個javac來執(zhí)行編譯二是告訴這個javac產(chǎn)出哪個版本的字節(jié)碼。前者靠的是JAVA_HOME、工具鏈或executable參數(shù)后者靠的是source、target、release這三個參數(shù)。很多人只做了后半件事然后奇怪為什么換臺機器就崩了因為前半件事他沒管默認跟著環(huán)境的JAVA_HOME漂移。判斷當(dāng)前實際用的是哪個javac最快的方法是mvn -v。它會打印出 Maven 版本、Maven Home 和 Java version 三行。注意這里顯示的是跑 Maven 的那個 JDK在沒有配置工具鏈的情況下它就是編譯用的 JDK。這個命令我建議你養(yǎng)成習(xí)慣每次遇到版本相關(guān)報錯先跑一遍看看比瞎猜快得多。2.2 打包階段不影響字節(jié)碼但影響能不能跑打包階段package及其后續(xù)的verify、install、deploy本身不會重新編譯代碼所以嚴格來說它不決定字節(jié)碼版本。但它決定了一些別的東西同樣會讓人翻車。maven-jar-plugin會在MANIFEST.MF里寫入Build-Jdk-Spec之類的信息這個值來自執(zhí)行構(gòu)建的 JDK可以當(dāng)線索用但不是決定性因素。更關(guān)鍵的是那些和運行時強相關(guān)的打包動作用jlink裁剪運行時鏡像時必須指定目標(biāo) JDK 的jmods目錄用jpackage做原生安裝包時入口 JDK 版本直接決定了產(chǎn)物的運行環(huán)境打 Docker 鏡像時基礎(chǔ)鏡像里裝的是哪個 JDK決定了容器里能不能跑起來。這些環(huán)節(jié)的版本都必須和編譯目標(biāo)保持一致否則就是鏡像是 8代碼是 17的經(jīng)典事故。還有一個隱形環(huán)節(jié)是測試。maven-surefire-plugin在test階段會拉起 JVM 執(zhí)行單元測試如果它用的 JDK 版本低于字節(jié)碼版本mvn package會在測試階段直接失敗。這也是為什么很多人明明只想跳過編譯問題結(jié)果卡在測試上——其實報錯信息已經(jīng)告訴你是版本問題了。實在需要先出包可以用-DskipTests跳過執(zhí)行但要注意-Dmaven.test.skiptrue是連編譯帶執(zhí)行一起跳兩者不一樣。3. 方案一用 properties 一把鎖死版本覆蓋八成場景3.1 最簡可用的 pom 配置如果項目只需要支持一個固定的 JDK 版本環(huán)境里也只有這一個 JDK那沒必要上工具鏈在pom.xml的properties里加一行就夠properties project.build.sourceEncodingUTF-8/project.build.sourceEncoding maven.compiler.release17/maven.compiler.release /propertiesmaven.compiler.release是maven-compiler-plugin約定的屬性名插件會自動讀取它。如果你想讓配置更顯式、更容易被后來的人看到也可以寫成完整形式build plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-compiler-plugin/artifactId version3.13.0/version configuration release17/release encodingUTF-8/encoding /configuration /plugin /plugins /build這兩種寫法效果完全一樣區(qū)別只是可見性和優(yōu)先級。當(dāng)properties和configuration同時存在時configuration里的顯式配置優(yōu)先級更高會覆蓋屬性。所以我一般建議團隊里選一種風(fēng)格統(tǒng)一到底別混著寫否則新人看權(quán)限判斷容易懵。這里有個細節(jié)值得單獨說插件版本一定要顯式聲明。不寫版本時 Maven 會用一套內(nèi)置的默認版本這套默認版本跟著 Maven 的版本走不同 Maven 版本可能綁定不同的插件版本行為就會有細微差異。我見過一次構(gòu)建結(jié)果不一致最后查出來就是兩臺機器的 Maven 版本不同導(dǎo)致maven-compiler-plugin版本不同一個默認走source/target一個走了別的分支。聲明版本這件事成本幾乎為零收益是構(gòu)建可復(fù)現(xiàn)。3.2 source、target、release 三個開關(guān)怎么選這三個參數(shù)是本節(jié)的核心我用一張表把它們擺清楚參數(shù)作用層次是否校驗 API推薦度說明source語法層面否單用不推薦限制能用哪些語言特性比如 lambda、var、switch 表達式target字節(jié)碼層面否單用不推薦決定產(chǎn)出的 class 文件 major 版本號release語法 API 字節(jié)碼是強烈推薦JDK 9 引入等價于同時指定 source/target 并鎖定對應(yīng)的 API 簽名release的工作原理是讀取 JDK 自帶的ct.sym符號文件里面保存了歷史各版本的 API 簽名。編譯時它會拿目標(biāo)版本的簽名去核對你的調(diào)用一旦你用了高版本才有的類或方法直接編譯失敗而不是等到運行期炸。這個行為太有價值了它把第三類編譯運行都不報錯但行為不對的隱患提前到了構(gòu)建階段。舉一個我實際遇到的例子。代碼里寫了List.of(a, b)這是 Java 9 引入的工廠方法。如果配置是source8, target8用 JDK 17 編譯整個過程干干凈凈沒有任何警告但部署到 Java 8 環(huán)境后調(diào)用到這行就拋NoSuchMethodError: java.util.List.of。改成release8之后編譯期直接報錯no suitable method found for of(String,String)問題在提交代碼前就被攔住了。注意release參數(shù)只支持 JDK 9 及以上版本執(zhí)行編譯目標(biāo)版本理論上可以低到 6取決于你用的 JDK 還支持到哪一檔。如果你的構(gòu)建機還在用 JDK 8那這個參數(shù)用不了只能退回source/target并且要額外配置bootclasspath來近似達到同樣的效果麻煩不少。另外補一句 Spring Boot 項目的特殊情況。如果你繼承了spring-boot-starter-parent它已經(jīng)把java.version這個屬性接管了內(nèi)部會把它映射到編譯插件的配置上。所以 Boot 項目里只需要寫properties java.version17/java.version /properties不用再單獨配maven.compiler.release。但如果項目里既寫了java.version又寫了maven.compiler.release就要注意兩者的優(yōu)先級關(guān)系容易互相打架。我個人的做法是 Boot 項目里只保留java.version一處避免兩個真相來源。4. 方案二toolchains 讓 Maven 自己去挑 JDK4.1 toolchains.xml 寫在哪兒、怎么寫方案一有個前提編譯用的 JDK 必須是 Maven 所在的那個 JDK。但現(xiàn)實中經(jīng)常有這種需求——機器上裝著 JDK 8、11、17、21 四個版本Maven 本身習(xí)慣用 17 跑但某個老項目必須用 8 編譯。這時候切JAVA_HOME會很別扭因為切完 Maven 自己也是跑在 8 上了。工具鏈機制就是為這個場景設(shè)計的它讓 Maven 繼續(xù)用自己的 JVM 運行但把編譯任務(wù)派發(fā)給另一個 JDK。工具鏈的配置文件默認放在用戶目錄下的.m2/toolchains.xml內(nèi)容長這樣?xml version1.0 encodingUTF-8? toolchains toolchain typejdk/type provides version8/version vendororacle/vendor /provides configuration jdkHome/usr/lib/jvm/jdk1.8.0_381/jdkHome /configuration /toolchain toolchain typejdk/type provides version17/version vendortemurin/vendor /provides configuration jdkHome/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/jdkHome /configuration /toolchain /toolchains幾個要點必須說清楚。type固定寫jdk這是唯一被廣泛支持的類型。provides里的version要和 pom 里聲明的能對上vendor是廠商標(biāo)識比如oracle、temurin、zulu、openjdk寫不寫看需求寫了匹配會更精確。jdkHome必須指向 JDK 的根目錄也就是bin/javac的上一級這一點在 macOS 上特別容易搞錯——要指到Contents/Home而不是.jdk那一層。這個文件放在用戶目錄下意味著它是機器級配置不進版本庫。這是個優(yōu)點也是缺點優(yōu)點是換機器不用改缺點是團隊新人的機器上如果沒有對應(yīng)的jdkHome構(gòu)建直接失敗而且報錯信息往往不夠直白。所以我認為工具鏈方案在團隊協(xié)作場景下必須配一份書面說明放 README 里否則就是給同事挖坑。4.2 pom 里的配套配置與生效驗證光有toolchains.xml還不夠這是最多人踩的坑——工具鏈不會自動生效必須在 pom 里顯式聲明使用哪個插件來讀取它plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-toolchains-plugin/artifactId version3.2.0/version executions execution goals goaltoolchain/goal /goals /execution /executions configuration toolchains jdk version17/version vendortemurin/vendor /jdk /toolchains /configuration /plugin這個插件做的事情很簡單在構(gòu)建早期插一腳去toolchains.xml里按條件找匹配的 JDK找到之后把它注冊到當(dāng)前構(gòu)建上下文里。之后凡是對工具鏈有感知的插件比如maven-compiler-plugin、maven-surefire-plugin、maven-jar-plugin都會用這個 JDK 而不是 Maven 自己的 JDK。注意source/target/release參數(shù)還是得配工具鏈只解決用哪個 javac不解決產(chǎn)出什么版本。如果provides里的version用的是通配寫法比如version1.8/version和實際寫version8/version匹配不上構(gòu)建會報找不到工具鏈。我建議在toolchains.xml里統(tǒng)一用主流寫法Java 8 就寫8別寫1.8能省掉不少莫名其妙的匹配失敗。驗證是否真的生效最直接的辦法是打開調(diào)試日志搜索關(guān)鍵字mvn -X clean compile 21 | grep -i toolchain你會看到類似Using toolchain: JDK 17 (Temurin)的輸出說明選中的是哪個 JDK。另一個驗證方式是執(zhí)行mvn -v和實際編譯目標(biāo)做對比如果mvn -v顯示 Java 是 17而編譯目標(biāo)是 8且編譯成功了那就說明工具鏈在正常工作。至于更直接的終局驗證手段我在第 6 節(jié)專門講。提示如果你的項目需要跨平臺構(gòu)建jdkHome路徑寫死會是個麻煩Windows 和 Linux 路徑完全不同。這種情況下只能給每個平臺準(zhǔn)備一份toolchains.xml或者用屬性占位符讓它從環(huán)境變量讀但配置復(fù)雜度上去了收益不一定劃算。5. 方案三與方案四臨時切換與 fork executable5.1 JAVA_HOME 與 PATH 的臨時切換最樸素的方案往往最可靠。只需要臨時驗證一下某個 JDK 版本能不能編譯直接在命令前面加上環(huán)境變量就行Linux/macOS 下JAVA_HOME/usr/lib/jvm/jdk-17 mvn clean packageWindows 的命令提示符下是set JAVA_HOMEC:\Program Files\Java\jdk-17 mvn clean packagePowerShell 下則是$env:JAVA_HOME...。這種寫法的好處是零配置、零污染用完就沒了特別適合排查到底是環(huán)境問題還是配置問題。它的缺點是每次都要手動帶容易忘而且一旦項目里還有別的插件依賴外部 JDK比如前面提到的jlink還得額外處理。這里必須提醒一個高頻陷阱JAVA_HOME和PATH里的java可能指向不同版本。Maven 讀的是JAVA_HOME但你手動敲java -version看到的是PATH里那個。這兩個不一致的時候你會看到mvn -v顯示 Java 17、java -version顯示 Java 8 的詭異場面然后懷疑人生。排查任何版本問題時請務(wù)必兩個都看一眼別只看其中一個。5.2 fork executable 的取舍maven-compiler-plugin還有一個fork配置項打開之后 Maven 會另起一個進程去執(zhí)行編譯這時可以配合executable指定絕對路徑的javacconfiguration forktrue/fork executable${env.JAVA17_HOME}/bin/javac/executable release17/release /configuration坦白說我不推薦在正式項目里這么干。原因有三個第一路徑強綁定操作系統(tǒng)Windows 上是javac.exe路徑分隔符還不一樣寫死了就沒法跨平臺第二它把機器的目錄結(jié)構(gòu)和構(gòu)建配置耦合在一起換臺機器就得改 pom第三fork會帶來額外的進程啟動開銷編譯幾百個類的時候能明顯感覺到慢。工具鏈方案在能力和可移植性上都優(yōu)于它除非你的場景極其特殊比如需要給javac傳一些進程級參數(shù)或者要同時用多個不同版本的 JDK 編譯同一模塊的不同部分否則沒必要走這條路。fork唯一我認可的用途是調(diào)試編譯器本身的行為比如你想看看javac到底收到了什么參數(shù)可以在compilerArgs里加-verbose通過fork讓輸出獨立出來看得更清楚。這種一次性的排查用完就刪不要留在 pom 里。6. 驗證怎么確認產(chǎn)物真的是目標(biāo)版本6.1 javap 與字節(jié)碼版本對照構(gòu)建成功不等于版本正確尤其是用了source/target而不是release的時候。最可靠的驗證方式是直接查字節(jié)碼的 major 版本javap -v target/classes/com/example/App.class | grep -i major version輸出major version: 61就說明是 Java 17 的字節(jié)碼。如果 jar 已經(jīng)打好了也可以從包里抽一個 class 出來看unzip -p target/app.jar com/example/App.class | xxd | head -n 1class 文件的前四個字節(jié)固定是魔數(shù)CAFEBABE緊接著兩個字節(jié)是次版本號再往后兩個字節(jié)就是 major 版本號。所以看到cafe babe 0000 003d0x3d就是 61對應(yīng) Java 17。下面這張對照表建議存下來Java 版本class 文件 major 版本十六進制Java 8520x34Java 11550x37Java 17610x3DJava 21650x41Java 22660x42Java 23670x43這張表在排查UnsupportedClassVersionError時特別有用報錯信息里給的就是 major 版本號不用去網(wǎng)上搜對照一下就知道是誰編譯的、該拿什么版本跑。6.2 用 jdeps 和真機運行兜底字節(jié)碼版本對上了不代表 API 調(diào)用就是安全的還是那個source/target的老問題。想驗證 API 層面有沒有越界可以用jdeps工具掃一遍jdeps --multi-release 17 -summary target/app.jar它會列出所有依賴的包和模塊能暴露出一些意料之外的引用。更嚴格的做法是在release參數(shù)的基礎(chǔ)上用目標(biāo) JDK 真實跑一遍單元測試。這一步可以在 CI 里做比如用 Docker 起一個目標(biāo)版本的 JDK 容器把編譯產(chǎn)物丟進去執(zhí)行冒煙測試。雖然多花幾分鐘但能擋住絕大多數(shù)運行期版本問題比上線后半夜被告警叫醒劃算得多。我自己的習(xí)慣是本地用javap快速看一眼 major 版本CI 里跑一個目標(biāo)版本的真機測試。兩個動作加起來成本很低但把版本問題的發(fā)現(xiàn)時間從運行時提前到了構(gòu)建時。7. 常見報錯排查速查表7.1 編譯期報錯怎么定位報錯信息關(guān)鍵詞真實含義處理方向invalid target release: X執(zhí)行編譯的 JDK 低于 X換更高版本 JDK或降低目標(biāo)版本Source option N is no longer supported當(dāng)前 JDK 已移除對 N 的支持升級目標(biāo)版本或換用更老的 JDK 編譯bootstrap class path not set只設(shè)了source沒設(shè)target或缺少引導(dǎo)類路徑直接改用release參數(shù)Fatal error compiling: error: release version X not supportedjavac不認識這個 release 值檢查 JDK 版本或插件版本過低找不到工具鏈 /Cannot find matching toolchainprovides條件與 pom 聲明對不上檢查 version、vendor 寫法是否一致NoSuchMethodError出現(xiàn)在測試階段測試 JVM 版本低于字節(jié)碼版本統(tǒng)一 surefire 的運行 JDK7.2 運行期報錯與 IDEA 的多套配置運行期的頭號報錯就是UnsupportedClassVersionError處理邏輯很清晰看報錯里的兩個數(shù)字一個是你產(chǎn)物的 major 版本一個是運行時的上限要么降低產(chǎn)物版本重新編譯要么把運行環(huán)境的 JDK 升上去。這里有個細節(jié)很多同學(xué)升級了JAVA_HOME但容器鏡像沒換或者反過來鏡像換了本地沒換導(dǎo)致我明明升級了啊的錯覺。排查時請同時確認三處本地mvn -v、構(gòu)建機環(huán)境、運行環(huán)境容器鏡像里的 JDK 版本。IDEA 的問題更繞因為它的版本設(shè)置有至少四個獨立入口任何一個不一致都會導(dǎo)致行為詭異。大致路徑是Project Structure Project里的 SDK 和 Language levelSettings Build, Execution, Deployment Compiler Java Compiler里的 Target bytecode versionSettings Build Tools Maven Runner里的 JRE以及 Maven 導(dǎo)入時使用的 JDK。這四處只要有一處沒跟上就可能出現(xiàn)IDEA 里能跑、命令行報錯的情況。注意最容易被忽略的是Language level和 Target bytecode version 這兩處。它們默認跟著 Project SDK 走但一旦被手動改過就會固定住之后你再換 SDK 它們也不變。遇到版本相關(guān)的怪問題先檢查這兩項有沒有被鎖死。排查 IDEA 問題時我有個簡單粗暴但有效的辦法在 Maven 工具窗口點一下 Reload然后看構(gòu)建輸出里有沒有版本相關(guān)的警告實在不行就把 IDEA 的編譯交給 Maven用mvn clean package的結(jié)果作為唯一真相。這樣可以先把 IDE 的干擾排除掉確定是配置問題還是環(huán)境問題。8. 團隊協(xié)作里的版本固化約定8.1 pom 固化加 Maven Wrapper單機跑通容易讓十個人的機器和 CI 跑出完全一樣的結(jié)果才是難點。我的做法是把三件事固定下來。第一JDK 目標(biāo)版本寫進 pom只留一處真相來源用maven.compiler.release或者 Boot 項目的java.version不允許在別的地方重復(fù)聲明。第二插件版本全部顯式聲明尤其是maven-compiler-plugin、maven-surefire-plugin、maven-jar-plugin這三個和版本強相關(guān)的。第三用 Maven Wrapper 固定 Maven 版本也就是mvnw那套東西。Maven Wrapper 值得單獨說一句因為很多人以為它管 JDK 版本其實不是。它管的是 Maven 自身的版本通過項目里的.mvn/wrapper/maven-wrapper.properties指定下載哪個 Maven 發(fā)行版。它解決的是我用 3.6、同事用 3.9、CI 用 3.8這種 Maven 版本漂移問題間接保證了插件默認版本的一致性。至于 JDKWrapper 目前不負責(zé)還得靠工具鏈或者環(huán)境約定。另外.mvn/jvm.config這個文件也挺有用可以給 Maven 自身設(shè)置 JVM 參數(shù)比如堆大小、時區(qū)、編碼。但注意它只能設(shè)置參數(shù)不能換 JDK別指望用它來指定編譯版本。8.2 CI 與本地的一致性檢查CI 上的版本問題往往比本地更集中因為 CI 環(huán)境是全新的沒有你本地那些碰巧裝對了的 JDK。我的建議是在流水線里加兩個前置動作一是打印環(huán)境信息mvn -v加上java -version一起輸出出問題時一眼就能看到二是在構(gòu)建完成后加一個字節(jié)碼版本校驗步驟用腳本解析 major 版本和期望值比對不一致就直接失敗。如果團隊里普遍存在多 JDK 需求那就老老實實上工具鏈并且把toolchains.xml的模板放一份在倉庫的docs目錄下寫清楚每個jdkHome該怎么填。新人入職按模板配一次之后就不用管了。比起每次都靠問一下老同事這套做法的長期成本低得多。最后分享一個我踩過的坑有一段時間我們的 CI 用的基礎(chǔ)鏡像默認裝了最新的 JDK隨著鏡像更新JDK 從 17 悄悄升到了 21因為release17還在編譯產(chǎn)物沒問題但某個注解處理器在新 JDK 上行為變了導(dǎo)致生成的代碼多了幾行測試用例開始間歇性失敗。這件事讓我意識到鏡像里的 JDK 版本也應(yīng)該被顯式固定比如指定eclipse-temurin:17-jdk這樣的確定標(biāo)簽而不是用latest或者不帶版本號的標(biāo)簽。構(gòu)建環(huán)境的確定性是靠一條條明確聲明堆出來的任何一處跟著最新走都會在某個時刻給你驚喜。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久热这里只有精品在线| 色欲一区二区三区精品A片| 丁香五月婷婷性爱| 99re热视频这里只精品5| 婷婷五月色丁香在线看| 婷婷丁香成人| 另类视频一区| www.婷婷| 五月综合激情| 婷婷丁香综合| 色99超碰| Caoub青青超碰 | 久久性都花花世界成人免费视频| 成人片在线播放| 亚洲最大五月六月丁香婷婷| 久久这里只有精品无码| 精品人妻久久久| 五月天婷婷av| 色婷操逼| 热99精品视频五月| 欧美大香蕉视频| www.99操| 天堂网操| 国产综合丁香五月天| 99热在线观看| 97色色婷婷| 亚洲婷婷久久综合| 色婷六月| 亚洲视频操| 国产精品视频久久99| AV激情五月| 香蕉97碰碰碰超视精品| 99黄色在线视频精品熟女| 青草青青草| 亚洲AV中文在线| 久久伦乱| 六月激情婷婷综合| 天天射色五月天| 精品国产AV色一区二区深夜久久| 综合狠久久| 99久热在线精品| 亚州美女| 久色激情| 99久久9| 五月丁香777| 婷婷色色网| 激情网站五月| 丁香丁香激情网| 色人久夂| 99日韩| 殴美日韩成人| 丁香五月天.com| 亚洲xx在线| 色色婷婷五月| 国产肥白大熟妇BBBB视频| 天天骑天天操| 色综合色色| 91九色国产熟女| 能直接看的av网站| 婷婷五月天丁香社区| 五月天天爽| 五月婷婷乱| 爱婷婷久久视频| 色99亚洲| 五月丁香激情欧洲啪啪| 免费视频99| 色五月丁香伊人| 五月丁香好婷婷A片网| 99在线观看视频免费| www.精品久9| 久久黄色片| 婷婷五月图片小说视频| 99热这里只有精品13| 久久婷婷激情五月天一区二区| 国产免费AV网站| 亚洲一级色电影| 99日逼视频| 香蕉伊人综合| 色五月婷婷中文字幕| 中文字幕av在线| 婷婷在线综合| 天天干天天日日| 激情婷婷综合| 超碰1999| 99色婷婷视频| 中文字幕日产A片在线看| 色伦专区97中文字幕| 国产亚洲成AV人片在线观黄桃| 狠狠精品干练久久久无码中文字幕| 色色99| 性欧美大战久久久久久久83| 丁香六月婷婷社区| 天搞天天天天天| 婷丁香五月天| 99综合网| 八戒青柠影视剧在线观看| 国产成人精品一区二三区熟女在线 | 婷婷八月丁香激情综合| 成人av免费观看| 五月天成人综合| 免费无码毛片一区二区A片| 老美AA片| 丁香五月激情棕合| 久久九九99字幕| 思思热高清在线观看| 97色97干| 区美毛片子| 影音先锋一区二区三区| 亚洲色无码A片一区二区麻豆| 婷色影院| 婷婷色影院| 日本婷婷综合精品| 伊人玖玖精品| 激情婷婷五月丁香啪啪啪| 99re视频在线精品| 五月婷婷开心亚洲无| renre人人操国产超碰在线| 久久这里有精品99| 99热精品在线观看| 欧美在线视频9| 99久在线观看| 亚美欧色影院| 久久精品一区二区三区四区| 超碰二区| 成人五月天视频| 第五色婷婷| 日韩不卡123| 国产精品社区| 高清无码入口| 久久婷婷艹| 97久久人人操| 日本丁香五月| 亚洲成AV人片在线观看| 狠狠操.com| 五月伊人婷婷| 成人国产欧美大片一区| 97色色色| 97在线精品视频| 五月丁香婷婷五月色| 丁香久久| 一本久久婷婷| 97婷婷丁香五月天激情图片| 在线婷婷| 五月天丁香婷| 丁香五月开心亚洲| 国产综合丁香五月天| 97九色视频| 激情五月婷婷伊人| 亚洲综合五月天| 丁香五月手机视频| 五月天综合久久| 五月色网| 久久91久久精品久久| 99免费视频| Aα在线免费观看| 国语对白性爱视频播放| 久99热| 99狠狠| 色999;丁香五月| 热的五码久久精品| 丁香婷婷网| 超碰在线观看成人视| 狠狠操天天操天天操| 亚洲欧美婷婷五月色综合| 99操不停| 久久色五月天综合网| 色五月婷婷综合| 激情五月天之六月婷婷| 久久婷婷五月综合精品蜜芽| 色综合天天网| 99色色网| 天天爽日日搞| 怡红院AV亚洲一区二区三区H | 99er热精品视频| 色性日本| 开心婷婷五月综合| 毛片色五月| 狠狠婷婷色| 99热这只有| 色99网站| 婷婷99狠狠| 黑人熟妇一区二区三区| 色婷婷丁香A片区毛片区女人区| 大天天伊人| 欧洲免费视频色| 丁香五月婷婷五月| 五月丁香少妇网| 久久五月天婷婷| 精品久久婷婷五月天| 综合色色网| 99热在线观看免费精品| 337久久| 婷婷亚洲激情在线观看视频| 婷婷五月天激情网| 99色热视频| 青草视频在线观看视频| 激情黄色小说五月天| 成人国产欧美大片一区| www.五月婷婷久久.com| 色婷婷AV在线观看| 亚洲天堂大香蕉| 手机在线日韩视频中文字幕| 夜夜操狠狠操| 伊人狠狠干| 91人妻人人操| 97色97干| 五月丁香啪啪拍| 精品久久穴| 97婷婷五月| 狠狠综合色网| 五月婷丁香| 678五月丁香亚洲综合| 开心深爱激情网| 五月婷婷丁香啪啪| 99视频热99| 五月丁香六月情| 97人人爱人人操| 成人亚洲精品| 九九爱看亚洲| 日韩久久色| 丁香六月婷婷综合| 五月天狠狠| www.精品99| 91五月天| 婷婷亚洲综合| 婷婷婷色五月| 久热久操久热久草国产91| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 天天做天天爱天天日| 日日做A爰片久久毛片A片英语| 亚洲另类婷婷五月综合| 91九色丨国产丨爆乳| 综合网亚洲| 激情综合网激情五月欧美| 婷婷情色五月| 激情综合网五月婷婷| 丁香婷婷啪啪啪| 伊人丁香五月婷婷潮吹| 国产超碰在线| 激情AV在线| 26uuu国产色| 偷拍99在线视频观看| 色综合久久88色综合天天99| 久久婷婷丁香六月天| 99在线视频资源| 午夜不卡久久精品无码免费 | 任你躁XXXXX麻豆精品| 色欲色香伊人| 国产日批视频| 99九九热在线观看| 国产特黄色精品一区二区三区精品无广告| 97人人射| 国产精品美女| 久久五月综合| 色婷婷五月亚洲| 大香蕉婷婷丁香视频在线| 国产AV影片| www.夜夜| 99精品九九| 丁香六月欧美| 婷婷五月天首页| 五月天激情婷婷丁香| 午夜成人天堂久久无码日韩久久| 2025中文在线视频字幕免费观看| 日产精品久久久久久久蜜臀| 成人av在线网| 五月天,激情四射,婷婷频道| 九九综合视频在线观看| 六月婷婷视频| 色约约视频一区二区三区四区五区| 色玖玖| 丁香婷婷色| 色五月婷婷激情综合网| AV在线中文| 另类亚洲电影| 婷婷五月天亚洲综合网| 无码激情AAAAA片-区区| 91日韩在线| www.91九色| 天天爽天天草| 亚洲色婷婷五月| 亚洲综合网激情小说| 色99日韩| 日韩操逼大片| 亚洲、欧美、国产另类笫二区| 婷婷情色五月| 激情五月婷色| 中文成人在线| 99人人干人人| 色婷婷88| 天天久久狠狠色综合| 伊人五月天97| 婷婷五月天黄色网址| 日韩人人操| 婷婷五月天免费99| 五月停停99| 欧美日本韩国亚洲| 丁香激情综合| 亚洲在线网站| 色在线免费观看| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 婷婷基地爱| 九九无码| 婷婷射综合| 丁香五月综合激情性爱| 丁香五月激情六月综合| 五月天丁香网| 91丨九色丨大屁股| 天天操天天操天天操天天操天天操 | 99这里都是精品| 人妻无码精品一区| 色综合色色| 色五月婷婷综合| 色欲天天综合网| 综合色色婷婷| 午夜一区| 99色人| 色婷小说| 一级二级色大片| 91日韩美女被插视频| 激情五月婷婷她| 美欧成人视频| 伊人91| 色综合网上班开心婷婷久久| 开心婷婷五月花| 手机AVAV天堂看网| 色婷婷裸体色性在线| 思思热久久久在线| 波多野结衣AV无码Porn| 五月天婷婷在线播放| 我去色色网五雨天| 色欲AV导航| 玖玖热视频| 丁香五月aV| 激情五月天色婷婷综合| 天天爽天天| 97久久人人操| 精品夜夜澡人妻无码AV| 色97啪啪| 综合亚洲六月婷婷在线| 天天操天天谢| 丁香五月激情网| 九九热只有精品| 亚洲精品V天堂中文字幕| 国产精品电| 色激情网| 思思热闹这里只有精品| 九九热视频思思| 免费视频99| 亚洲激情五月| 91九色无码内射| 久久99久久99久久99人受| 综合另类视频| 亚洲在线免费成人| www99久久| 欧美成人热| 五月婷婷 激情五月| 97视频91| 啪啪视频99| 久99综合婷婷| 2025年最新亚洲在线欧美| 五月婷婷六月丁香| www.wuyuetian啪啪| 婷婷丁香五月激情密臀av| 国产精品久久..4399| 亚洲狠狠狠色婷婷综合激情久久久| 色丁香影院| 五月丁香婷婷啪啪| 久久九九99.www| 色九月婷婷| 夜丁香综合| 丁香五月影院| 99九九免费精品| 色亚洲中文| 五月花婷婷| 少妇人妻偷人精品无码视频新浪| 女同激情久久av久久| 草婷婷在线| 精品激情| 人妻激情视频| 成人精品99| 五月婷婷六月丁香在线| 99热天堂| 婷婷婷婷色| 国产真人做爰视频免费| 丁香五月婷婷亚洲人| 丁香五月电影| 九日日夜夜69| 色久五月| 丁香五月性| 色色色色色五月丁香| 99re这里只有精品首页| 国产在线aaa片一区二区99| 综合色吧| 日本久久视频| 久久五月综合| 久草丁香婷婷1024| 亚洲久久婷婷丁香五月天| 婷婷综合久久| 影音先锋一区| 天天做天天爱天天爽| 人人摸人人操人人爱| 天天激情5月天亚洲| 激情六月婷婷| 《久久综合九色综合97婷婷| 五月婷婷丁香俺日污视频| 538在线精品| www.粉嫩av.com| 九九热在线视频| 久久婷五月影院| 激情亚洲婷婷六月| 欧美三级巜人妻互换| 久久婷婷五月综合97色一本| 婷婷五月天六月丁香| 五月婷婷久久综合| 日本nghangse中文字幕| 久狠日av| 婷综合六月| 开心五月综合激情综合五月| 日产精品久久久久久久蜜臀| 五月天成人在线视频丁香| 97人人干人人操| 日本久久人| 色婷婷亚洲精品天天综| 色99免费视频中文| 丁香五月AV| 五月丁香六月婷婷综合| 九热视频| 日本久久爽| 91视频五月丁香| 99热99极品观看| 九九在线视频| 99这里有精品视频| 强伦轩人妻一区二区电影| 五月丁香琪琪| 久久在这里有精品| 欧美顶级少妇做爰HD| 色五月婷婷少妇人妻| 激情五月婷婷综合| 日韩AV色色色| 五月花激情网| 99啪啪视频| 欧美婷婷六月丁香综合色| 91热爆在线| 在线国产精品色| 久久婷婷精品| 狠狠干 狠狠操| 五月丁香婷婷激情爱爱| 91婷婷丁香五月| 五月婷婷五月天| 思思热精品在线| 亚洲视频在线观看99| 被强行糟蹋的女人A片| 操日本人妻视频| 在线播放成人| WWW久久久| 第四色五月激情网| 热久久66| 丁香六月欧美| 色久婷婷五月| 99久在线观看| 天天色天天爱天天舔| 无码激情AAAAA片-区区| 99久久6| 99在线视频资源| 丁香五月大香蕉| 丁香伊人激情| 噜噜操操| 不卡在线视频| 超碰91人人操| 五月丁香色婷婷基地| 九九久99免费视频| 狠狠狠狠狠狠狠狠| 婷婷五月天成人网站| 婷婷娌伦网| 99这里只有精品|v| 婷婷五月伦理网站| 成人操呦av| 五月婷婷综合在线视频| 大香蕉手机视频| 欧美日韩欧美| www.99日本| 99热思思在线观看| www.yw色| 亚洲综合网在线| 麻豆雪千夏| 亚洲综合网激情五月天| 香焦网五月天| 久久久天堂国产精品女人| 色五月婷婷在线| 激情五月伊人婷婷| 99日精品视频| 91九色超碰| 久久99精品视频| 热99re| 97人人干人人操| 国产乱妇乱子伦| 思思色综合网站| 久久综合首页| 男女av免费看| 五月色综合| www.91在线观看| OYIWbGcPu8H| 婷婷五月色播| site:publishdd.com| 超碰国产AV| 国产精品美女| 热久视频| 99视频精品8| 大香蕉啪啪| 爆乳熟女-区二区三区| 天天干天天拍| 日本精品99| 俺去也五月天婷婷| www.五月天婷婷姐姐| 8区视频在线| 91人人人人人人人| 丁香五月天成人| 99热这里只有精品在线观看| 欧日韩成人| rr天天操| 99热网站| 日本va欧美va欧美va| 日本狠狠爽| 色一情一乱一乱一区91| 五月婷婷丁香啪啪| 五月天激情图片网| 草榴视频黄色网| 人妻丰满精品一区二区A片| 草综合网| 色欲av伊人久久大香线蕉影院| 99热在线网站| 激情五月婷色| 日本偷拍九九九| 91色五月在线观看| 大香蕉在九| 午夜少妇在线观看视频| 亚洲午夜av| 九九性视频| 色狠狠综合| 狠狠爱激情网| 五月丁香婷婷色色| 九九久久五月天| 日韩 中文 欧美| 婷婷丁香五月婷婷| 超碰99资源站| 日本九九视频| 日本久久天堂| 天天天干夜夜夜操| 日本99热| 怡红院视频| 天天日综合| 草做免费在线观看| 五月丁香六月婷婷无码| 色视频五月天| 五月狠狠| 久久99网| 欧美日韩123| 丁香五月中文字幕色播| 日本色色视频| 五月天播播中文字幕| 激情九九综合网| 久久久人妻门| 色综合另类| 精品99视频| 九九亚洲综合| 午夜一区| 久久婷婷超碰| 色色婷婷婷丁香五月天| 人人操操| 色狠狠五月天| 色插综合网| 丁香五月激情婷婷| 狠狠色噜噜狠狠狠888| 国产精品色色| 色五月在线播放| 色色婷婷丁香| 五月激情丁香啪啪| 97碰碰碰| 五月天丁香六月综合| 91精品久久久久久久| 婷婷五月天综合激情| 久久视频66| 丁香五月第九色| 婷婷五月丁综合| 精品久久99码| 色香欲综合| 日本精品人妻无码77777| BBWCUCKOLD精品熟妇| 成人五月天视频播放| 亚洲综合无码| 狠狠色色| 丁香五月激情视频在线| 色五月激情五月| 青青草tp| 久久色六月| 色色日本欧美| 色五月丁香五月五月婷婷| 天天射天天干天插色综合| 五月丁香拍拍激情综合| 狠狠干狠狠干狠狠干狠狠干| 99热这里只有精品9| 99这里都是精品6| 久久综合久色欧美综合狠狠| 午夜色丁香| 强辱丰满人妻HD中文字幕| 久久久27操| www.99在线| www.99视频| 九九久久精品| 伊人婷婷99热精品| 99,色| 色色色色色色色综合| 丁香成人视频| www超碰| 综合色婷婷| A一级操| 五月丁香六月婷婷激情视频在线观看免费 | 色五月综合在线| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 色玖玖爱| 丁香九色不卡aaa| 国产乱码久久| 一级二级色大片| 怎么样可以看免费的一级av| 婷婷99| 韩国激情五月天综合网| 成人精品视频99在线观看免费 | 9 1 A v久久久| 欧美综合123区| 五月婷婷六月爱| 丁香婷婷色五月激情综合| 99视频在线精品| 狠狠色婷婷7777久综合| 天天日天天狠狠操| 婷婷色片| 色色色9 9 9| 久噜久噜| 专区无日本视频高清8| 五月婷婷亚洲| 婷婷激情网五月天| 9色在线| 国产精品操| 成人超碰Av| 五月丁香色色网| 91九色|疯狂|高潮|对白|| 久久人妻伦理| 午夜AV网| 日日操天天爽| 成人五月天综合网| 这里只有精品视频看看| 丁香五月综合| 99免费成人网| 婷婷五月天久久| 婷婷丁香激情综合色情| 婷婷五月色情| 久草a片| 色综合另类| 激情碰碰碰| 欧美性爱5月天天天看| 九九Av| 丁香五月花婷婷开心| 97九色| www.精品99| 国产avapp 网| 久久久久8888| 五月天成人综合| 91成人电影| 久99热在线观看| 激情视频综合| 丁香激情五月| 99热e| 色色激情五月天| www.99久久久| 婷婷色色五月| 色婷婷丁香五月| 狠狠香婷婷五月| 五月综合激情网| 丁香8月手机综合| 1234操逼网| 另类视屏| 先锋资源91| 九月婷婷激情| 色五月天激情| 欧美天天草人人草| 9色在线| 婷婷五月激情网站| 极品人妻VIDEOSSS人妻| 久久婷婷五月丁香| 怡春院天天干| 99热在线看片| 丁香五月色情| 性做爰1一7伦| 99小视频网站| 九九色大香蕉| 五月天婷婷色| 五月丁香六月婷婷在线播放| 日本在线wwww| 热99免费在线| 五月丁香久久综合| 婷婷五月丁香图片人人操| 色久五月天| 激情亚洲婷婷| 99热精品在线在线| 夜夜爽天操| 五月婷导航| 色婷婷五月天视频在线| 五月丁香六月激情综合| 一區四區歐美日韓| 六月色 亚洲| 亚洲免费观看高清完整版AV线| 色婷婷大香蕉| 久久精品99国产精品日本| 婷婷丁香在线播放| 在线观看av网站| 色噜噜狠狠色综合日日| 激情五月天婷婷视频| 九月激情综合婷婷| 狠狠色婷婷7777久| 色欲久久久久| 五月天色色网站| 五月J香蕉婷婷| 日日干夜夜干| 丁香五月天婷婷久久综合| 狠狠综合久久综合| 激情五月天色色网| 99久操| 99色精品| 久久A V无码视频| 久久HD| 北条麻妃伊人| 五月婷婷之综合激情| 思思热久久婷婷五月天| 丁香六月综合激| 六月激情婷婷| 婷婷五月天久久| 怕怕av| 《久久综合九色综合97婷婷| 色色色综合| 中文在线成人| 激情婷婷五月色| 激情99| 婷婷五月丁香成人| 狠狠干在线| 97操视频| 久久激情天堂| 六月婷婷视频| 91se精品国产| 天天色综网| 五月丁香六月婷婷无码| 开心亚洲久久开心| 91成人电影| 九月丁香婷婷网| 伊人在线视频| 欧美啪啪9| 五月深爱激情网| 99在线爽| 婷婷激情综合| 五月丁香婷婷婷激情爱爱| 人人色人人弄人人操| 九月婷婷久久| 伊人www22综合色| 伊人9999| 综合在线丁香五月| 丁香五月亚洲AV| 91九色国产熟女| 91九色 熟| 精品一区二区三区免费毛片爱| 午夜婷婷久久| 丁香六月婷婷综合啪啪| 综合视频五月| 干婷婷五月天| 久久综合激情五月天| 日韩在线视频网站| 婷婷九月丁香天堂丁香天堂| 婷婷色色亚洲| 精品香蕉99久久久久网站| 色色五月婷| 五月天激情久久| 狠狠插狠狠插| 五月婷婷天| 欧美婷婷五月| 激情五月,深深爱五月| 小视频在线亚洲| 综合久久99| 国产精品久久久久久白浆色欲| 久久婷婷丁香视频网| 九热av| 成人久碰| 婷婷成人av| 久操香蕉| 午夜激情四射影院| 婷婷激情五月天桃花网| 老司机视频lsj爱就色| 成人国产欧美大片一区| 丁香五月激情综合| 五月综合激情婷婷六月色窝| 欧美色婷婷| 91日韩在线| 五月综合色| 无码免费人妻A片AAA毛片西瓜| 五月天婷婷成人网| 色五月亚洲| 九九亚洲视频| 午夜天堂一区人妻| 欧洲电影在线观看免费版英语版| 无码激情AAAAA片-区区| 91婷婷五月天嫩女| 99热亚洲精品| 91丨九色丨国产打屁股| 五月婷婷爽爽爽| AV成人在线网站| 五月婷视频| 婷婷五月天在线综合| 99热成人在线| 色婷婷在线影院| 五月婷综合激情| 99人人操| 九九色影院| 另类五月婷婷| 丁香六月色情| 婷婷色情六月| 99riAV国产精品视频| 色综合激情| 九九色逼| www.色色色com| 天天艹| 激情99热| 在线五月色播| 婷婷丁香人妻天天| 久青操| 丁香五月婷婷基地| 大香蕉在九| 狠爱婷色| 色婷婷激情四射视频| 亚洲色久| 日日日日做夜夜夜夜无码| 五月人妻婷婷| 操骚货在线| 亚洲综合在线视频| 极品精品一区二区三区在线| www,超碰| 小视频在线亚洲| 久久人妻伊人| 婷婷金品综合视频| 影音先锋 萱萱| 婷婷网影院| 亚洲综合色网站| 婷婷丁香五月综合网上 | 亚洲另类AV| 97人人干人人操| 婷婷六月中文字幕| 99热在线看片| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 六月婷婷最新网址| 9.1综合网| 停停五月丁香| 色婷婷亚洲婷婷| 国产人人操| 婷婷在线观看五月天在线视频| 色天天综合| www.色99| 99热人人操人人操| 亚洲午夜精品久久久久久人妖| 五月天电影网| 婷婷伊人网| 一级无码作爱片| 操国产人妻| 99在线精品视频| 国产真实乱了老女人视频| 色婷婷女优有码五月亭| 国产亚洲色婷婷99精品| 思思久久精品| 久久AV无码精品人妻系列试探| 国产精品人妻在线网址| www激情网| 日本人妻A片成人免费看片| 国产av网| 色婷婷精品小视频| 午夜成人AV在线| 免费一区二区三区| 六月欧美综合色情| 日韩色五月| 五月婷无码| 这里只有视频精品| 啪啪婷婷五月天激情| 伊人在线另类| 开心久久爱五月天| 久久久婷婷婷| 丁香五月婷婷99| 思思热热久久| 亚洲黄色影视| 一二区成人电影| www.激情五月天com| 色五月婷婷色| 男人天堂99| 婷婷六月天激情| 婷婷五月天天| 五月婷婷五月天激情视频| 97香蕉久久超级碰碰高清版| 日日操夜夜操中国无码| 99re26视频| 五月婷婷六月丁香| 五月丁香综合啪啪| 另类图片激情五月| 毛片蕉地一二| 激情网五月婷婷| 91人久| 激情99热| www.激情| 狠狠色丁香五月婷巨| 五月婷婷色播| 久热丁香| 色婷婷五月天激情在线观看| 新激情五月天| 日日夜夜噜噜爽爽| 亚洲爆乳无码精品AAA片蜜桃| 成人 在线 日韩| 日韩99视频| 色婷婷av在线观看| 97人人操在线| 欧美日韩成人免费在线| 五月丁香六月| 五月婷婷日| 人人操AV| 色www.con| 亚洲色色色| 97人人看一| 欧美性爱五月天| 五月天婷婷激情在线色图| 五月婷婷天| 一起操 91N.com| 思思热精品在线| 91精品国产色猫| 79精品视频在线观看,| 六月婷婷操逼| 79精品视频在线观看,| 在线看av| 99九九在线视频| 日本久久视频| 久久久18| 成人天天爽| 极品人妻VIDEOSSS人妻| 色青青五月| 操逼五月婷婷| 九九精品视频在线6| 日韩精品一曲二曲三曲四曲五曲| 欧美丁香婷婷五月天| 综合久久久婷| 99热综合在线| 色婷婷五月影视| 久久久天堂国产精品女人| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 九九热a| 天天干一干| 九九热10| 午夜少妇在线观看视频| 五月丁香六月日逼| 91打屁股免费看| 久久久区区一久久久久久| 操碰色一区就去操| 狠狠干五月丁香综合网| www.玖玖婷婷在线| 99在线热视频| 激情久久综合| 国产亚洲精品AAAAAAA片| 啪啪干伊人婷婷| 亚洲人成播放网站| 四月丁香五月婷婷久久| 九九草草逼| 五月婷婷综合丁香视频| 久久激情天堂| www.五月天婷婷| 国内婷婷丁香社区在线播放| 亚洲婷婷性爱| 99色综合| 激情深愛五月視頻| 黄色高清无码| 99热这里只有精品免费| 蜜桃婷婷狠狠久久| 色婷婷电影| 婷婷五月色网| 成人在线视频一区| 婷婷午夜| 思思热在线视频观看精品| 国产精产国品一二三在观看 | 久久九九@| 狠狠夜夜五月丁香| 久久全色| 亚洲精品色| 婷婷丁香五月亚洲免费| 性爱网五月天| 久久艹 五月天| 色婷婷偷拍| 狠狠999| 啪啪操超碰| 99精品成人无码A片观看金桔| 五月天影院| 99自拍视频在线| 日韩在线视频9色| 九色视频91| 色欲五月婷婷| 一起草性爱不卡视频| 色色丁香| 九九碰九九爱97超| 久久与婷婷| 久久五月丁香综合17C| 91丨九色丨老农村| 国产99久久久国产精品免费看| 99久久性爱| 丁香婷婷五月天校园春色| 五月婷婷黄色毛片| 人妻综合网| 色小说婷婷五月天天天| 4399伦理午夜| 99免费超碰在线| 超碰在线人妻| 婷婷五月综合啪| 五月丁香琪琪| 久久人人做人人妻人人玩精品va| 涩五月婷婷| 青青草搞屄视频网站| 丁香久久九九99| 婷婷成人基地| 色丁香五月婷婷| 日本AAAAAAAAAAAAAA片| 伊人网欧美在线男人天堂五月丁香 | 欧美偷偷操| 热久91| 狠狠色丁婷婷日日,伊人激情综合网| 狠狠色综合网| 日本婷婷色| 五月天婷婷网站| WWW免费视频碰碰碰碰| 五月丁香婷婷五月色| 成人电影AV在线观看| 色综合区| 视频色色色色色色| 99九九在线| 日日干夜夜干| XX色综合| 久久新地此| 伊人99热| 日韩精品色| 日本色频| 亚洲激情| 五月丁香久久激情综合| 天天肏屄夜夜爽| 免费看无码视频A级| 婷婷丁香五月基地| 婷婷五月色综合香五月| 中文字幕日产A片在线看| 色婷婷综合网站| 啪啪99| 免费精品99| 婷婷综合激情| 五月激情婷婷在线| 天天色官网| 人人干AV| 婷婷久久夜| 丁香五月最新地址| 青青草网武则天| 538在线精品| 99视频自拍| 久久99热这里只频精品6学生| 超碰99热| 九九综合精品| 激情五月综合网| 婷婷色网| 五月天色区| 婷婷久久网| 九九黄色网| 99激情| 国产精品久久久久久久久久免费| 亚洲日韩一页精品发布| 99久久国产宗和精品1上映| 国产乱子轮XXX农村| 成人综合网站| 日韩成人无码| 亚洲六月综合激情久久下卡| 91九色最新视频| 久碰视频| 九九久久综合| 天天日天天爽| 久久久久久欧美精品se一二三四| 99综合免费视频| 99re热视频这里只精品| 久草婷婷网| 亚洲午夜国产成人电影VA国产欧…| 欧美日韩成人h| 欧美啪啪五月天| 99狠狠| 性色人人爽| 人妻久久久久久久久妻久久久久| 天天檫天天爽| 玖玖热视频| 棕合影院色色| 色五月首页| 五月伊人91| 狠狠草网| 九九九九热99超碰| 丁香五月 无码| 操比激情五月| 精典久久| 久久五月天综合视频网站| 啪啪干伊人婷婷| 九九亚洲视频| 九九人人精品| 狠狠狠狠狠| 99视频在线9| 97精品自拍视频| 大香蕉AV在线| 久久婷婷五月丁香| 狠狠五月天| 思思久久精品| 五月丁香婷婷欧美色图视频五月丁香777电影| 久9热插入| 日本在线视频播放91| 五月丁香久人妻中文| 激情丁香久久| 日日操夜夜爽天天天| 九九这里都是精品| 五月天婷婷av| 国产黄色在线| 三级毛片7979| 欧美丁香六月在线观看视频| 99热这里只有精品18| 久久九九爽| 午夜不卡久久精品无码免费| 99九精品| 十月丁香婷婷| 激情五月综合| www.色婷婷| 五月叮香啪| 欧美va国产va| 狠狠五月天| 丁香六月激情综合| 91porn一起草| 66精品成人免费网站在线观看| 色五月天丁香婷婷| a免费在线| 激情五月天在线观看色婷婷| 男人的天堂五月丁香| 激情综合亚洲| 亚州操操| 久久久久久久久人妻| www.婷婷六月天| 秋霞AV淫| 九九亚洲视频| 激情四射五月天| 婷婷丁香九月| 婷婷伊人五月天| 激情五月综合| 综合五月婷婷| 极品人妻VideOssS人妻| 国产成人精品一区二三区熟女在线| 久久久久久久8| 亚洲99视频| 97干婷婷| 操大屄五月天视频| 色色无码日韩| 婷婷丁香五月激情密臀av| 高清资源站日A美A欧亚…| 九九碰九九爱97超| 色婷婷久久综合中文久久一本| 丁香六月婷婷| 九九AV在线| 天天日天天草| 成人丁香婷婷| 五月天婷婷一起草| 91丨九色丨白浆秘| 日本乱子人伦在线视频| 久热大香蕉| 天天干天天拍| 男女激情久久| 色播五月天天| 天天综合在线网| 五月久久婷婷天堂视频| 在热视频精品| 香蕉AV777XXX色综合一区| 伊人婷婷五月天| 婷婷刺激综合| 日韩无码亚欧无码| 操逼在线视频| 99热免费| 人妻性操逼中文字幕 国产| 9热在线观看| 2022久久婷婷| 天天色综合网吨吧| 国产成人精品一区二区三区视频 | 色吧网综合| 婷婷六月开心网| 99亚洲精品| 深夜男女福利刺激影院一区| 婷婷九月在线| 熟美女麻豆| 婷婷精品性视频| av在线免费播放观看| 婷婷色五月久久| 极品人妻VIDEOSSS人妻| 伍月婷丁香婷| 天天色天天日| 91欧美| 亚洲超碰在线| 五月天成人综合| 超碰九九热| 丁香六月激情| 站长推荐无码播放| 久久色五月天| 久久综合婷婷五月| 久久久久激情网| 1区2区视频| 色五月婷婷操逼| 97色天堂| 中文字幕,综合,91| 婷婷成人AV| 1024婷婷综合久久五月天| 天天色视频| 久色激情| 天天做天天要天天爱| 性爱网五月天| 日韩啪啪自拍| 亚洲国产99| 91九色超碰正在播放| 欧美Va日本Va| 日韩黄色电影| 久久免费操| 91九色视频| 激情五月天综合| 99惹在线精品免费观看| 99人人干| 狠狠狠狠狠狠色| 五月婷婷五月丁香综合| 狠狠操狠狠爱| 五月天婷婷深深爱| 99热亚州综合| 五月丁香激情四射| 婷婷激情五月天7| 九九婷婷激情综合网| 久久九九视频| 亚洲第一成人无码A片| 依人大香蕉| 99精品免费欧美小视频| 国产AV不卡福利| 天天爽夜夜操| 六月天丁婷婷| 国产成人在线不卡AV| 69精品人人人人| 五六月丁香激情视频| 九九色天堂| 激情综合五月婷婷| 另类激情五月| 婷婷五月天网址| 国外亚洲成AV人片在线观看| 激情伊人五月天| 国产9色在线/日韩| 免费观看全黄做爰的视频| 五月婷婷综合丁香视频| 久久只有精| 国产成人va在线| 亚洲超级碰| 国外亚洲成AV人片在线观看| 婷婷性爱五月天| 欧美色图45678| 久草婷婷视频| 五月丁香综合网|