欧美成人午夜精品久久久,国产?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
返回資訊列表
亚洲网站999| 五月丁香好婷婷A片网 | 亚洲偷| 色综合网综合| 99色精品视频| 丁香五月最新地址| 久99精品视频| 无码区婷婷五月花开| 色婷婷色综合激情91| 欧美丁香婷婷五月| 超碰在线观看9| 五月丁香| 激情综合网激情五月天| A在线观看| 噜噜综合网| 超碰在线网站| 婷婷丁香精品视频在线观看| 777精品久无码人妻蜜桃| 色女伊人| 五月婷婷开心综合| 狠狠狠狠狠操| 激情五月综亚网| 久久九精品| 色色色综合视频| 天天久久婷婷| 五月天丁香婷婷视频网址 | 五月天久久网站| 亚洲第一成人无码A片| 久久曰9| AA丁香综合激情| 99色色色色| 天堂婷婷五月在线| 影音先锋xfplay资源男人网| 五月丁香六月婷婷综合在线| 久久99精品九九久久久婷婷| 99re久久| 丁香五月激情啪啪| 天天五月丁香五月| 国产精品18久久久| 风流少妇A片一区二区蜜桃| 91久久电影| 99综合激情久久精品久久| 色色综合网站| 五月婷婷黄色| 五月天成人在线视频丁香| 九九青草热| 思思热视频| www久久艹| 思思久久99热只有频精品66| 五月丁香六月婷婷亚洲综合| 色婷婷五月天视频网站| 亚洲中文乱字字幕在线永久| 操逼巨乳91| 激情五月婷婷色| 色婷婷激情视频| 玖玖在线资源视频| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 亚洲精品国产成人AV在线| 337久久| 99色干| 99.N在线视频| 99精品在这里| 大地9中文在线观看免费高清| 九九热精品| 九九亚洲综合| 色9999日韩国产| 色香欲综合| 热99re| 六月婷婷色宗合| 激情激情激情网| 秋霞影音91人妻久久| 五月天激情小说婷婷基地| 国产又黄又爽又激情不遮挡视频在线观看| 热99只有里视频| 色婷婷丁香香香蕉视频| 变态另类9| 六月婷婷开心| 国产精品色婷婷久久久精品| 伊人久久婷婷| 激情五月婷婷综合秋霞| www.色综合.com| 综合99久久天天综合| 91九色中文字幕女在线观看| 激情五月丁香色婷婷| 色亚洲婷婷| 五月婷婷我| 夜夜干夜夜操| 久热伊人| 超碰资源在线| 五月丁香久久综合精品| www.yw色| 五月开心播播网| 丁香五月婷婷色综合| 七七色综合| 婷婷丁香五月91| 婷婷五月激情网| 久久女婷| 热99免费在线| 五月婷婷色吧!| 天天做天天爱| 色五月激情五月| 五月丁香激情综合网官网| 97人人看一| 亚洲视频五区| 5月婷婷6月六月丁香| 亚洲激情五月| 色色激情网| 色视频五月天| 欧美韩国日本| 激情丁香五月综合| 天天色综合色| 日韩AAAAA| 色色色色色色综合网| 狠狠综合区| 天天 青草 制服丝袜 在线 | 亚洲啪啪精品| 激情婷婷五月色| 日日日天天干| 丰满少妇猛烈A片免费看观看| 色五月开心久久网| 五月婷六月丁| 在线理论片| 伊人玖玖网| 人妻操逼| 狠狠干狠狠干| 五月丁香婷婷中文| 激情五月天开心| 精品亚洲国产成AV人片传媒| 六月丁香婷婷视频综合在线观看| 亚洲免费av在线| 久久久99精品免费观看| 最新久久网址| 91色色色18| 黄色中文字目| www狠狠| 大香蕉人妻| 欧美色偷偷大香| 99 色色吧| 久久综合中文| 欧美99热| 成人短视频在线| 激情性爱婷婷| 色丁香五月| 午夜大香蕉| 人伦30P| 色色五月婷婷丁香| 中文婷婷狠狠| 思思久久精品| 婷婷丁香成人五月天| 五月婷婷激情综合拍| www.五月天婷婷| 婷婷酒色网| 婷婷丁香一月| 日韩有码一区| 99热免费观看| 亚洲不卡欧洲| 国产成人亚洲综合A∨婷婷| 欧美日韩国产一区| 夜夜爱网站| 大香蕉综合在线| 婷婷五月色色| 日韩一级片| 91视频一起草| 日韩 mm 不卡| 超碰在线免费9| 亚洲深喉AV| 色狠狠激情五月| 日韩无码色色| 伦99热| 性生生活大片又黄又| 亚洲五月婷婷在线| 九九精品大香蕉| www.av视频xx999.com| 五月丁香综合激情| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 99乱视频| 婷婷五月天av网| 色五月综合在线| 婷婷五月丁香久久| 99免费超碰在线| 九九亚洲小视频| 这里只有精品96| 色情免费视频播放| 久久色五月| 久久九九免费视频| 久久五月婷天天干| 久久丁香九| 六月丁香中文字幕| www.狠狠狠狠| 色情婷| 99热老网站| 都市激情久久| 色色色五月| 色色色在线观看| 色噜噜狠狠色综合无码久久欧美| 九月丁香婷婷网| 天天舔天天操| 色婷婷成人影片| 亚洲综合色婷婷| 六月婷婷色宗合| 夜夜夜夜撸夜夜操| 日韩无码成人电影| 丁香av网| 亚洲精品又粗又大又爽A片| 婷婷五月天亚洲图片| 人人草碰| 日日日日日| 中文字幕 中文字幕明步| 欧美在线操| 91操碰| 五月色色激情网| 亚洲操精品| 北京熟妇搡BBBB搡BBBB| 9久久久久| 五月天天天开心激情网| 9久精品视频| 五月天激情视频| 超碰在线国产| 丁香五月网址| 五月天网址在线刘玥| 五月天com| 99色在线视频观看| 碰久久精品w| 久久色婷婷| 色偷偷狠狠| 天天射美女| 日本大人久久| 内射丰满人妻| 亚洲五月丁香综合网| 99碰碰碰| 伊人五月婷| 综合网色| 久综合| 99 热| 国产91九色| 亚洲情综合五月天| 狠狠狠狠狠| 久久婷婷五月天激情四射| 五月丁香在线国产| 色婷婷成人丁香| 91色涩| www久久久久久久| 欧美激情综合色综合啪啪五月| 丁香五月激情网| 操一操| 91大屁股精品| 人人干女人| 中文字幕av久久爽| 色婷婷精| 东京热人妻一区二区三区在线| 99精品视频在线观看| 亚洲综合色色| 婷婷性爱| 欧美交换配乱吟粗大25P| 99热这里只有精品16| 婷婷丁香六月天| 激情深爱综合网| 天天射天天射一道本日本社区 | 国产一区男女| 亭亭五月天黑人2014| 婷婷激情五月天天天开心| 中文字幕欧美久久| 色婷婷五月天偷拍| 天堂网色婷婷| 亚洲色图五月丁香五月婷婷| 五月丁香婷婷99| 国产做爰视频免费播放| 婷婷五月天A V| 色五月激情| 97人人操人人| 99在线观看精品视频| 丁香六月婷婷综合| 亚洲中文字幕在线观看| 五月婷婷香蕉视频| 大香蕉九九操| 婷婷国产欧美97| 六月丁香成人| 91玖玖| 人人九色| 综合激情婷婷| 亚洲AV激情五月综合网| 五月婷婷在线观看| 可以免费观看的AV| 小视频久久久aaa| av在线观看网站| 亚洲AV成人精品日韩在线播放| 黄网在线免费观看| 免费无码毛片一区二区A片| 中文字幕在线观看视频www| 五月天堂婷婷| 九热视频在线精品15| 色婷婷免费观看| 久久久久人妻精品| 激情综合五| 大地9中文在线观看免费高清| 婷婷五月天色播| 97精品人人A片免费看| 中字幕视频在线永久在线观看免费| 免费无码毛片一区二区A片 | 开心激情网在线| 色情五月综合婷婷| 99精彩视频在线观看| 超碰色人妾| 亚洲操精品| 99re久热只有精品6在线直播| 久久久五月婷婷| 色五月综合| 九九这里有精品| aV直接看| 9久久久久久久久久久| 激情综合五月| 九九热精品在线| 丁香五月天堂| 91精品国产色猫| 久9热视频在线| 哇嘎成人久久| 99这里只有精品在线观看| 婷婷中文字幕| 丁香五月婷中字在线| 这里只有精品96| 97干综合网| 妻久久久久| 色综合激情| 99久久九九| 欲色人妻| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 天天操天天日天天爽| 五月婷婷亚洲色视频| 这里只有精品1| 骚逼视频一区2区| 中文精品在| 日日激情网| 色五月丁香网| 另类激情五| 成人狠狠成人狠狠成人狠狠成人狠狠| 精品色| 激情五月婷黄版| 手机看片日日做夜夜| 五月丁香激情四射| 99热99天堂| 欧洲亚洲激情五月天在线| 色色色热| 日本三级日本黄色| 五月婷婷丁香五月婷婷| 久久五月丁香| 久久婷婷综| 丁香5月婷婷| 午夜丁香婷婷| 91热久| 五月欧美色色五月| 九九九九精品精| 日日噜噜久久婷婷五月天| 99国产小视频2013| 色婷婷视频在线| 超碰在线观看成人视| 婷婷香五月| 丁香五月性爱| 色欲丁香久久| 成人网丁香五月| 天天爽天天爽| 激情婷婷综合| 国产精品大香蕉| 久久精品一区二区三区四区| 伊人久久艹| 色综合久久88色综合中文字幕| 丁香在线视频| 五月丁香综合激情在线观看| 色噜噜狠狠色综合日日| 色五月天.con| 99久久99九九九99九他书对| 91日本在线观看| www91精品| 丁香六月婷婷色XXXXX| 丁香婷婷激情四射五月| 丁香五月六月综合欧美| www.婷婷,com| 99热99色| 开心婷婷五月天电影院| 婷婷丁香日韩五月| 丁香六月成人| 丁香九月婷婷综合| 亚洲午夜AV| 色婷婷www| 99婷婷| 无码一区二区日韩| 依人大香蕉在钱1| 79精品视频| 丁香婷婷午夜| 六月综合婷婷开心伊人| 激情丰满熟妇五月| 青青草五月天| 色五月综合在线| a九九热www| 五月丁香六月婷婷网| 再次出发二| 国产精品第一国产精品| 狠狠狠狠狠狠| 五月天色狠狠| 成人无码精品1区2区3区免费看| 26UUU亚洲欧美| 九九精品re免费视频| h在线看免费版在线看| 欧美一级色| 日逼AV影音先锋男人资源站| 这里只有精品视频在线| 婷婷五月天色色| 日日干干天天干| 激情五月瑟瑟| 天天综合网站| www.夜夜.com| 99久久综合网| 婷婷国产五月天17c| 色99热| 99精品这里只有免费视频| 日本人人超碰| 97视频91| 艾小青av| 五月丁香六月色婷婷综合五月天| 九月婷婷综合色干| 激情婷婷五月天| 激情五月天在线观看婷婷| 超碰在线caop| 激情五月com| 99精品高潮| 九九热免费视频| 深爱激情五月网| 97操碰视频| 操碰色一区就去操| 午夜婷婷久久 | 婷婷色系婷色| 超碰chaompinm| 伊人丁香五月天丁香在线婷| 九九热这里只有精品6| 五月草影视| 99久久精| 99热综合网| 在线18av | 婷婷五月天影院| 日日狠狠久久偷偷四色综合免费| 丁香女人五月天| 99人妻碰碰碰久久久久| 九九热9| 国产亚洲99久久精品| 九九热在线观看视频网站| 色狠狠色综合久久久绯色AⅤ影视| 国产在线激情视频| 强壮的公次次弄得我高潮A片日本 | 中文字幕性爱视频| 欧美日韩中文国产一区发布| 夜夜骑天天玩天天日| 99热资源在线| 欧美日本韩国亚洲| 色婷婷电影| 欧美五月婷婷| XX色综合| 天天摸天天做天天爱天天爽| 第四色婷婷最爱| 99热最新网址| 久久精典| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 五月婷婷激情综合| 99热精品中文字幕| 亚洲人妻av| 99久久成人| 超碰超碰在线| 超碰人人操在线| 超级碰碰97在线| 亚洲黄色影视| 大战熟女丰满人妻AV| 91欧美| 五月色亚洲| www.亭亭五月天| 99热99这里有免费的精品| 亚洲精品乱码久久久久99| 五月婷婷黄色| 五月婷婷久久开心网| 人伦30P| 淫视馆AV在线| 婷婷天堂综合| 99热碰碰热| 日本一级| 五月激情六月| 九九热这里只有精品12| 日韩av高清| 婷婷九九色| 午夜天天精品视频| 色综合色综合色综合| 五月天婷婷色综合| 大香蕉九九操| 色婷久久| 激情婷婷人妻| 五月在在观看| 99亚洲日韩| 99乱视频| 色婷婷综合网站| 久久婷婷影院| 秋霞AV吧| 色五月大| 色五月激情问网站| 亚洲色A| 第四色五月天| 啪啪操超碰| 國語久久婷| 丁香五月婷婷基地| CHINESE熟女老女人HD视频| 国产一区二区av免费| 日韩人妻在线播放| 国产色99| 亚洲另类婷婷五月丁香在线播放| www,五月天激情| 色婷婷丁香五月高清在线| 色色色色色色色色色999| 欧美国产一区二区三区| 激情av| 人与禽A片啪啪| 久久五月天 91| 嫩草视频在线观看| 日本成人噜噜| 精品久色| 亚洲最大五月天成人网| 成人短视频在线| 精品无码久久久久久久久| 婷婷五月天丁香久久| 伊人婷婷大香蕉| 婷婷五月开心中文字幕色| 色七七色九九| 欧美叉叉叉BBB网站| 2025神马午夜福利| 丁香五月婷婷超碰在线| 手机免费福利视频| 九九黄色网| 91丨九色熟女丨首页| 日韩五月婷婷| 色婷婷狠| 9热久久在线| 人人澡天天色天天做| 色色网站| 久久久婷婷五月天| 成人va在线观看视频| 99爱在线观看视频| 大伊香蕉精品视频在线| 996er热| 色丁香六月| 99久在线精品99re8热| 五月婷婷性爱网| 色综合爽| 色色色无码| www.91在线看| 亚洲第一精品成人999久久精品| 天天插天天爽| 色婷婷97| 啪啪激情综合| 精品网站:999WWW| 99热99色| 中文字幕丰满乱孑伦无码专区| 亚洲精品网站色视频| 人人视频人人干人人做| 99惹 精品在线| 成人五月天色天堂| 天天综合网站| 色婷婷色九月| 26uuu欧美| 一起草日本| 日韩AV无码影片| 婷婷色播色五月五色五月天色妇| 五月激情综合网| 1024AV视频| 天天橾日日橾夜夜橾17| 久久精品99国产精品日本| 狠狠色婷婷| 99爱在线观看视频| 久草九一| 五月激情久久| 久久青青日本视频| 色婷婷五月天久久| www超碰com| 第四色婷婷五月| 性生生活大片又黄又| WWW.五月天9999| www.狠狠操| www.99精品视频| 激情五月婷婷综合| 丁香五月婷婷大香蕉| 午夜精品777| 日本人妻伦在线中文字幕| 日韩一区二区三区无码| 色色色色色色综合网| 天天综合亚洲综合| 激情五月天福利| 99热这里只有精品3| 天堂久久大香蕉| 日日夜夜小色哥| 欧美色偷偷大香| 婷婷五月成人| 国产亚洲在线观看| 99国产在线精品视频| 婷婷激情综合网| 婷婷五月天 丁香五月天 裸体| 色六月天| 色爱99| 超碰99在线观看| 人人爽人人射-美女久久久久久久久久-成人AV| 熟妇人妻中文字幕无码老熟妇| 伊人狠狠狠综合| 色99热| 久热久re| 五月婷婷影| VA国产在线综合网站| 欧美婷婷色| RenRenSe在线视频网站| 99欧美三级视频| 狼人久草| 五月天玖玖狠狠色色| 亚洲国产网站| 亚洲成人免费在线| www.ppypp| 99丁香五月婷| 99国产精品白浆在线观看免费| 日本五月视频| 色99在线视频| 激情五月婷婷综合秋霞| 亚洲综合视频网| 亚洲激情综合网| 免费无码毛片一区二区A片| 婷婷五月av| 五月色网| 久久五月天 91| 91精品久久久久久综合五月天| 综合色五月天| av在线激情| 九九九激情综合| 玖玖婷婷五月| 午夜婷婷五月天在线| 五月天综合久久丁香91| 久久色大香蕉| 日日干天天爽| 热久久99热欧美国产亚洲| 人妻22p| 伦乱人妻| 精品成人无码A片观看香草视频| 五月天婷婷激情| 丁香婷婷射| aa久久| 强奸幻女毛片| 伊人在线视频| 五月天成人小说| 丁香五月六月综合欧美| 色五月婷婷开心| 亚洲超碰在线| 91oumei| 日逼影音先锋男人AV资源站| 可以看的av网站| 色色com| 丁香六月天婷婷开心综合| 大香蕉啪啪网| 久操福利| 久久综合中文字幕| 色五月色情| 超碰在线免费观看日韩| 成人做爰A片免费看网站找不到了| 五月丁香婷婷综合视频| 成人丁香婷婷| 久久婷婷五月天综合| 在线五月色播| 热无码A∨| www久久久| 久99视频在线观看| 色伊人啪| 激情伊人网| 午夜激情久久| 天天草比天天爽| 亚洲、热| 九九热视频免费的| WWW,激情五月天,COM| www.婷婷,com| 任你搞网站| 综合九九中文字幕| 色五月自偷自拍婷婷婷婷| 99在线视频操999| 久草婷婷在线| 激情综合五月丁香六月婷婷| 狠狠插.com| 久久久一级AAA| 亚洲视频在线观看| 97很鲁在线视频| 亚洲中文字幕在线观看| 色五月综合激情网| 五月激情婷婷偷拍| 婷婷天天五月天| av操B网站| 欧在线一区| 狠干综合| 成人婷99最新| 欧美群妇大交乱婬网| 在线成人网址| 69热在线| 插插插色综合网| 色高清无码视频| 五月天婷婷视频30| 久久99网| 婷婷五月天av| 成人精品一区日本无码网| 强辱丰满人妻HD中文字幕| 五月激情丁香啪啪| 久热天堂| 天天久久狠狠色综合| 亚洲色久| 五月激情啪啪| 这里只有精品在线播放| 99亚州综合精品成人网| 婷婷丁香色五月亚洲| 色五月婷婷中文字幕| 美日韩成人| 婷婷99视频在线| 高清 码 免费看片短视频| 色综合久久88色综合天天看| 另类激情码| 婷婷在线免费| 色情五月综合婷婷| 久久天天| 日韩日比视频在线| 婷婷五月丁香啪啪| 一个色的综合| 五月天另类激情在线| 丁香五月天堂网| 久久久99精品免费观看| 色99免费视频中文| 大香蕉啪啪啪| 五月婷婷丁香综合网| 久99久精品视频| 久久小视频| 国产婷婷色综合AV蜜臀AV | 五六月丁香激情视频| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 五月婷婷无码专区| 免费国产视频| 日韩乱轮AV| 在线资源av-超碰中文在线-成人AV| 激情五月伊人婷婷| 色五月婷婷很很操| 丁香婷婷大香蕉| 99ri视频在线观看| 九九自拍网| 五月天自拍视频| 天天综合网91| 大香焦A∨| 99 r热| 亚洲精品永久久久久久| 99热| 97碰碰人人| 久8色色| 啪啪婷婷五月天激情| 少妇高潮呻吟A片免费看软件| 香焦网五月天| 五月天激情视频网站| 五月丁香激情综合| 香蕉伊人综合| 九九热只有这里精品| 丁香五月在线播放| 超极99精品| 激情宗合哪里能看| 久久婷婷五月天激情四射| 综合在线丁香五月| 丁香五月综合激情性爱| 熟妇国产| 国产精品久久久丁香五月八戒视频| www久久久| 天堂网啪啪| 丁香五月激情图片| 日产精品久久久久久久蜜臀| 五月天婷婷情色| 五月天婷婷婷| 九九99精品免费播放| 青青草a在线| 99色婷婷| 91九色精品女同系列| 久草热在线视频| 永久天堂日本| 丁香婷在线| 婷婷六月丁香五月| 狠狠色综合网| 九九热九九| 99免费热视频在线| 五月天操逼网| 成人综合AV| 91九色欧美| 久热久操久热久草国产91| 这里只精品热在线18| 五月Huangsewang| 草美女在线观看视频在线播放| 亚洲久久激情| 久鲁鲁色网 | AV网在线| 久久性爱网站| 99久久9| 国产成人av在线| 丁香六月婷| 色综合色香蕉网| www.26uuu.com亚洲电影| 玩熟女五十AV一二三区| 天堂婷婷丁香六月网| 五月天激情国产综合婷婷婷| 婷婷99狠狠躁天天躁中| 久久综合中文| 激情婷婷五月天。| 久久婷婷影院| 九月婷婷丁香| 色护士综合| 66色在线日韩| 婷婷伊人久久| 色婷婷激情| 丁香色啪综合| 六月丁香婷婷综合影院| 91操操| 天天添天天摸天天天天做| 中文字幕av网站| 大香蕉啪啪| 婷婷丁香五月久久| 五月天丁香啪啪啪啪| www99精品| 色五月激情综合| 91久久九色| 深爱激情五月天| 色色色色色色色色色色色色色色,网站| 久热超碰91| 色婷婷九月| 婷婷色情小说| 色婷久九| 粉嫩AV久久一区二区三区| 久8色色| www一起操| 97操操| 婷婷五月天在线综合| 欧美日韩成人免费在线| 202丰满熟女妇大| av操一操| 丁香五月天在线视频| 国产精产国品一二三在观看| 丁香五月婷在线| 五月天久久久| 97热超碰| 99燥99日| 激情综合久久| 直接看的AV| 99热在线里有精品| 婷婷涩涩五月天| 操逼电影免费看| 婷婷丁香六月| 麻豆雪千夏| www久热com| 亚洲日本激情| 综合99久久| 伊人影院久久网| 国产日产亚洲系列最新| 久久五月婷| 婷婷色色婷婷| 婷婷综合六月| 五月丁香啪啪激情| 婷婷综合| 丁香五月激情网| 91伦| 五月婷婷香蕉视频| 国产亚洲色婷婷久久99精品91| 五月天停婷基地| 69色色视频| 夜夜天天久久婷婷| 99热99ai| 亚洲激情网| 91人人操人人爱| 五月天伊人久久| 五月丁香色停停啪啪啪| 国产精品18久久久| 综合色99| 思思热99热| 色综合久| 色综合com| 久久色五月天| 51国精产品自偷自偷综合| 午夜色丁香| 婷婷丁香五月天在线| 婷婷五月丁香高清无码| 色激情综合狠狠婷婷| 五月婷在线| 99爱爱| 丁香九月激情| 亚洲精品99| www色婷婷| 草草操操| 欧美日本VA| 99这里只有精品视频免费| 成人av免费观看| 色综合色综合网| 色五月首页| 婷婷亚洲日本| 久久综合热17c| 五月亚洲激情| www.狠狠干| 偷拍视频五月天| 狠狠草综合网| 国产午夜一区二区三区| 色播激情五月天| 99热精品无码| 五月天丁香成人| www.婷婷五月| 国产欧洲欧洲精品久久| 狠狠干,狠狠操| 成人中文网| 综合久久十| 在线超碰91| 色婷婷狠| 欧美噜噜免费观看| 日日操夜夜爽天天天| 五月天色导航| 天天天久久人人人合| 九九热在线精品视频| 激情久久久久久久久久久| 亚洲超碰在线| 色五月激情五月| 啪啪日本欧美| 91精品久久久久久久久| 久久天天天| 欧美婷| 日本成人噜噜噜| 97碰碰人人| 九九热在线视频| 97成人丁香| 色色色婷| 色天天久婷婷| 天天草天天摸| 97天堂| 色色综合网www| 美欧成人视频| 五月丁香婷婷福利| 丁香五月六月激情久久| 婷婷在线综合| 久久久久久人妻| 婷婷激情五月天激情小说| 天堂久久婷婷| 26uu| 婷婷五月天综合久久| www.色婷婷.com| 99在线综合视频| 丁香婷婷网| 五月婷婷欲色| 久久综合丁香| 嫩草免费视频| 91chinese在线| 天天操天天爱天天玩| 亚洲天堂爱爱| 国产九月婷婷| 99这里有精品久久97| 色狠久| 丁香五月激情五月| 久久婷婷丁香五月宗合| 丁香五月婷婷色五月| 类似婷婷激情综合网站| 亚洲精品又粗又大又爽A片| 激情综合网色五月| 深爱婷婷色| 激情五月天色色网| 久久电影五月天丁香电影| 99爱爱| 五月婷婷五月丁香| 国产偷人爽久久久久久老妇APP| 先锋资源婷婷| 五月丁香五月天现场视频| 久操大香蕉| www.cao.com久久| 色婷婷色五月另类综合| 成人综合视频在线| 一本婷婷丁香久久 | 国产成人精品一区二三区熟女在线| 久久新| 五月婷婷丁香综合| 丁香六月综合激情| 99re在线观看| 2020日日干| 偷偷操九九| 操逼123网| 色色无码| 99精品自拍视频| 人妻精品一区二区三区| 久月久在线视频| 人人人人人人人人人草| 婷婷大香蕉| 一月婷婷色色| 激情五月开心五月丁香五月| 蜜乳久AV| 婷婷五月天亚洲色| 色婷婷丁香| 97福利视频| 亚洲综合婷婷| 天天操婷婷| 99热资源在线| 色综合狠狠色| 久久狠狠干| 亚洲成人精品三区| 战争与艾拉电影免费观看| 无码少妇高潮喷水A片免费| 婷婷色激情网| 色综合久久久久| 五月激情婷婷综合| 日韩狠狠色| 人人性久久| 99九九在线视频| 射久久丁香五月| 岛国av网站| 丁香花操逼| 九九热最新| 9精品视频在线观看| 97热精品| 九色视频91疯狂| 欧洲不卡视频| 伊九九三级区| www.婷婷五月天.com| 五月丁香六月综合情在线观看| 伊人五月天在线| 激情网站五月| 色99在线| 激情五月婷婷综合视频| 三级黄色大片视频| 丁香综合网| 狠狠色狠狠色综合日日91| 婷婷激情五月综合| 欧美日韩国产一区二区| 欧美超级视频97| 五月丁香久久综合| 天天操综合网| 婷婷5月开心6月| 91人妻九色大屁股| 久色资源| AV在线观看网站| 国产激情综合五月久久| 伊人国产婷婷五月天| 无码字幕中文| 99爱视频| 婷婷放心五日爱| 国产又色又爽又黄又免费| 五月综合六月婷婷| 色五月婷婷影视| 色婷婷免费观看| 天天人人综合| 99色免费观看全部| 婷婷五月天成人网| 久久激情视频99| 青草视频在线播放| 色色网站免费| 日韩ac不卡无码| AA片在线观看视频在线播放| 国产综合网在线| 超碰在线免费| 少妇性BBB搡BBB爽爽爽电影| 亚洲成人噜噜| 婷婷欧美综合| 亚洲亚洲人成综合网络| 亚洲五月花| 久久性爱视频| 欧美日本韩国亚洲| 5月婷婷6月六月丁香| 国产67194| 99网址在线观看| 婷婷伊人综合中文字幕| 五月天婷婷爱丁香中文字幕| 欧美日韩五月婷婷| 99热最新网址| 色偷偷五月天| 99在线er热| 超碰人人妻| 激情综合一| 色小说五月天| 五月激情婷婷图片基地| 91五月花丁香| 深爱激情综合| 天天精品视频免费观看| 五月天激情站| 亚洲午夜Av| 亚洲精品V天堂中文字幕| 六九色综合婷婷五月天| 精品99久久久久成人网站免费| 99热精品超碰| 91男女视频在线观看| 97人人做| 丁香五月天天高清在线| 怡红院 久久| 丁香狠狠操| 中文字幕无码人妻少妇免费视频| 九色无码| 激情婷婷五月天日本系列 | 日韩啪啪视品| 99视频自拍| 丁香五月色网| 婷婷久久亚洲| 激情99热| 欧美在线视频99| 六月激情丁香一道本7777| 精品香蕉99久久久久网站| 97色婷婷成人综合在线观看| 在线可以看的av网址| 丁香婷婷人妻综合网| 丁香大香蕉| 色欲婷婷五月天丁香| 国产免费一区二区三州老师F1……| 丁香九月激情| 色五月婷婷久久| 五月婷婷丁香五月| 九九热精品6| 思思热在线精品视频网站| 狠狠搞五月天| 婷婷射丁香| 91婷婷在线观看| 色停停影院五月天| 婷婷婷婷婷婷婷婷婷婷丁香| 国产亚洲精品AAAAAAA片| 久热伊人| 玖玖综合色| 久久伦乱| 九九99热久久精品66中文字幕| www色婷婷com| 狠色色狠网| 日本熟女一区二区| 操逼在线视频| 五月丁香亚洲五月| 99热99热在线观看| 国产伦理精品高清在线观看网站一区二区| 色九月欧美| 国产成人AV在线播放| 九伊人网| 一二区成人电影| 91疯狂操操操操| 五月婷婷国产| 色婷婷狠狠久久YY| 婷婷色在线播放| h亚洲| 婷婷五月天亚洲综合| 婷婷五月天丁香社区| 五月婷婷丁香六月 | 91午夜激情| 思思热在线观看| 日韩99视频| 婷综合| 五月丁香人妻| 欧美精品18| 亚洲中文字幕在线观看| 亚洲乱码日产精品BD| 五月开心播播网| 丁香五月综合网| 日本久久极品| 91色吧网| 亚洲中文字幕av| 丁香五月天激情婷婷丁香六月| 激情六月丁香综合| 精品综合五月| 亚洲综合激情五月| 97干在线播放| 成人在线日韩| 天天射影院| 日本三级日本黄色| 97婷婷狠狠久久综合9色| 久久与婷婷| 开心婷婷五月激情网小说| 精品福利911| 五月丁香五月婷婷在线观看| 久色| 五月婷婷综合网| 国产婷婷婷| 超碰色女| 99热最新地址在线| 激情综合网亚洲色图| 狠狠干夜夜干| 亚洲五月天婷婷| 国产精产国品一二三在观看| 激情色情五月天| 欧美三级欧美一级| sisi热国产| 激情五月天激情小说| 99久久九九| 色天使久久综合| 久久停停超碰| 婷婷开心综合人妻小说网址| 丁香五月色| 超碰成人免费| 七七久久综合| 婷婷五月激情网| 狠狠草综合网| 天天看A片| 伊人久久婷婷五月综合97色| 亚洲激情五月| 欧美天天五月丁香免费观看| 思思热在线播放| 婷婷丁香人妻天天爽| 激情五月天伊人av| 男人天堂99| 懂色av粉嫩av蜜臀av| 欧美在线看| 色婷婷九月综合| 久久99精品九九久久久婷婷| 天天激情站| 伊九九三级区| 五月婷婷黄网站大全| 99国产这里只有精品| 97碰啪啪| 亚洲无码影片| 99小视频在线| 久久久精品色| 婷婷中文字幕| 激情亚洲婷婷| 亚洲行行色色| 婷婷丁香18| 五月丁香视频色色| 婷婷五月天深爱| 99日本精品视频热| 免费观看高清无码| 九热在线这里有精品6| 久综合| 99爱在线| 丁香六月天AV| 久操大| 色婷婷文字幕| 天天操夜夜肏| 99色色| 影音先锋色婷婷| 天天狠天天叉| 色综啪啪网| 丁香六月婷婷综合色| 成人电影AV在线观看| 99精品久久久久久久久| 天天综合干| 久久人人妻| 免费亚洲婷婷中文字幕| 丁香五月天啪啪| 久久综合婷婷激情| 思思网站| 五月丁香婷婷色色| 亚洲 五月 婷婷 成人| 欧美美女视频| 爱性综合网| 欧美99热| 婷婷五月综合久久中文字幕| 五月婷婷成人| 亚洲国产网址| 狠狠色综合五月| 日韩精品一区二区三区,四区,五区视频| 久久九九99| 97人人干| 大香蕉综合在线| 色婷婷免费观看| 久久婷婷五月综合精品蜜芽| 99综合| 9久9久| 夜夜骑夜夜操| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 中文字幕黄色片| 激情欧美婷婷| 色五月AV| 在线国产精品色| 日本狠狠色| 丁香婷婷五月天校园春色| 天天做夜夜爽| 久热这里只精品| 五月综合色| 精品久色| 久久婷婷色| 五月天三级| 天天草女人| 五月天激情啪啪| 色吊丝av中文字幕|