{"id":31343,"date":"2023-11-12T20:10:52","date_gmt":"2023-02-25T02:42:22","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/"},"modified":"2025-08-12T23:33:00","modified_gmt":"2025-08-12T15:33:00","slug":"%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/","title":{"rendered":"\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK"},"content":{"rendered":"<h1>\u6211\u8f6c\u4e16\u4e3agvm\u3002\u4ee5\u524d\u4f7f\u7528gvm\u5de5\u5177\u6765\u5b89\u88c5\u548c\u7ba1\u7406Grails\u3001Groovy\u7b49\u4ea7\u54c1\uff0c\u4f46\u73b0\u5728\u5b83\u5df2\u7ecf\u53d8\u6210\u4e86\u4e00\u4e2a\u540d\u4e3aSDKMAN\u7684\u4ea7\u54c1\u3002<\/p>\n<p>SDKMAN\uff08Github\uff09- \u5f00\u53d1\u5de5\u5177\u7ba1\u7406\u5668<\/p>\n<p>\u5728\u8fc7\u53bb\uff0c\u6211\u4eec\u5728GVM\u4e2d\u5904\u7406Groovy\u5bb6\u65cf\u7684\u4ea7\u54c1\u3002\u4f46\u662f\u5728SDKMAN\u4e2d\uff0c\u6211\u4eec\u53ef\u4ee5\u8de8\u8d8a\u8fd9\u4e2a\u754c\u9650\uff0c\u8f7b\u677e\u5730\u5b89\u88c5\u548c\u7ba1\u7406JVM\u5bb6\u65cf\u7684\u4ea7\u54c1\u3002<\/p>\n<p>2016\/12\/14 \u8ffd\u52a0<br \/>\n\u73b0\u5728\uff0cSDKMAN \u53ef\u4ee5\u5b89\u88c5\u548c\u7ba1\u7406 JDK\uff08OracleJava\uff09\uff01<br \/>\n\u76ee\u524d\uff0c\u6709\u4ee5\u4e0b 25 \u4e2a\u4ea7\u54c1\u53ef\u4ee5\u901a\u8fc7 SDKMAN \u8fdb\u884c\u5b89\u88c5\u548c\u7ba1\u7406\u3002<\/p>\n<div>\n<div class=\"post-table\">Name\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3(on SDKMAN)\u516c\u5f0fActivator1.3.10<br \/>\nAnt1.9.7<a class=\"autolink\" href=\"https:\/\/ant.apache.org\/\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/ant.apache.org\/<\/a>AsciidoctorJ1.5.4.1<a class=\"autolink\" href=\"http:\/\/asciidoctor.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/asciidoctor.org\/<\/a>Ceylon1.3.1<a class=\"autolink\" href=\"http:\/\/ceylon-lang.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/ceylon-lang.org\/<\/a>CRaSH1.3.0<a class=\"autolink\" href=\"http:\/\/www.crashub.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/www.crashub.org\/<\/a>Gaiden1.1<a class=\"autolink\" href=\"http:\/\/kobo.github.io\/gaiden\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/kobo.github.io\/gaiden\/<\/a>Glide0.9.2<a class=\"autolink\" href=\"http:\/\/glide-gae.appspot.com\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/glide-gae.appspot.com\/<\/a>Gradle3.2.1<a class=\"autolink\" href=\"http:\/\/gradle.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/gradle.org\/<\/a>Grails3.2.3<a class=\"autolink\" href=\"https:\/\/grails.org\/\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/grails.org\/<\/a>Griffon1.5.0<a class=\"autolink\" href=\"http:\/\/griffon-framework.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/griffon-framework.org\/<\/a>Groovy2.4.7<a class=\"autolink\" href=\"http:\/\/www.groovy-lang.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/www.groovy-lang.org\/<\/a>GroovyServ1.1.0<a class=\"autolink\" href=\"https:\/\/kobo.github.io\/groovyserv\/\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/kobo.github.io\/groovyserv\/<\/a>Java8u111<a class=\"autolink\" href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/www.oracle.com\/technetwork\/java\/javase<\/a>JBake2.5.0<a class=\"autolink\" href=\"http:\/\/jbake.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/jbake.org\/<\/a>JBossForge2.17.0.Final<a class=\"autolink\" href=\"http:\/\/forge.jboss.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/forge.jboss.org\/<\/a>Kobalt0.720<a class=\"autolink\" href=\"http:\/\/beust.com\/kobalt\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/beust.com\/kobalt<\/a>Kotlin1.0.5-2<a class=\"autolink\" href=\"https:\/\/kotlinlang.org\/\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/kotlinlang.org\/<\/a>Lazybones0.8.3<a class=\"autolink\" href=\"https:\/\/github.com\/pledbrook\/lazybones\/\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/github.com\/pledbrook\/lazybones\/<\/a>Leiningen2.7.1<a class=\"autolink\" href=\"http:\/\/leiningen.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/leiningen.org\/<\/a>Maven3.3.9<a class=\"autolink\" href=\"https:\/\/maven.apache.org\/\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/maven.apache.org\/<\/a>sbt0.13.13<a class=\"autolink\" href=\"http:\/\/www.scala-sbt.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/www.scala-sbt.org\/<\/a>Scala2.12.0<a class=\"autolink\" href=\"http:\/\/www.scala-lang.org\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/www.scala-lang.org\/<\/a>SpringBoot1.4.2.RELEASE<a class=\"autolink\" href=\"http:\/\/projects.spring.io\/spring-boot\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/projects.spring.io\/spring-boot\/<\/a>Sshoogr0.9.25<a class=\"autolink\" href=\"https:\/\/github.com\/aestasit\/sshoogr\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/github.com\/aestasit\/sshoogr<\/a>Vert.x3.3.3<a class=\"autolink\" href=\"http:\/\/vertx.io\/\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/vertx.io\/<\/a>\u6839\u636e\u60a8\u6240\u770b\u5230\u7684\uff0c\u60a8\u53ef\u4ee5\u5728\u7f16\u7a0b\u8bed\u8a00\u4e2d\u5b89\u88c5Scala\u3001Ceylon\u3001Java\uff0c\u8fd9\u4e9b\u8bed\u8a00\u5e38\u89c1\u7684\u5de5\u5177\u5982Spring Boot\u548cMaven\u4e5f\u53ef\u4ee5\u5b89\u88c5\u3002<br \/>\n\u901a\u8fc7SDKMAN\u5b89\u88c5\u8fd9\u4e9b\u5de5\u5177\uff0c\u60a8\u53ef\u4ee5\u8f7b\u677e\u5207\u6362\u7248\u672c\uff0c\u800c\u4e14\u4e0d\u9700\u8981\u624b\u52a8\u8bbe\u7f6e\u8def\u5f84\u3002<br \/>\n\u6240\u6709\u6587\u4ef6\u90fd\u4f1a\u5b58\u50a8\u5728$HOME\/.sdkman\u76ee\u5f55\u4e0b\uff0c\u56e0\u6b64\u4e0d\u4f1a\u7834\u574f\u7cfb\u7edf\u73af\u5883\u3002<\/p>\n<p>\u5f53\u6bcf\u4e2a\u65b0\u4ea7\u54c1\u7248\u672c\u53d1\u5e03\u65f6\uff0c\u4f60\u53ef\u4ee5\u76f8\u5f53\u5feb\u5730\u4eceSDKMAN\u4e0a\u83b7\u53d6\u5230\u53ef\u7528\u7684SDK\uff08\u57fa\u672c\u4e0a\u5f53\u5929\u5c31\u53ef\u4ee5\uff09\u3002<\/p>\n<h1>\u5b89\u88c5<br \/>\n\u5148\u524d\u7684Github\u7684README\u6587\u4ef6\u4e2d\u6709\u9019\u500b\u4fe1\u606f\u3002<br \/>\n\u52302015\u5e7412\u670822\u65e5\u70ba\u6b62\uff0c\u53ea\u9700\u8981\u57f7\u884ccurl -s api.sdkman.io | bash\u9019\u500b\u547d\u4ee4\u5c31\u53ef\u4ee5\u4e86\u3002<br \/>\n\u5b89\u88dd\u5b8c\u6210\u5f8c\uff0c\u53ea\u9700\u8981\u91cd\u65b0\u555f\u52d5\u7d42\u7aef\u6216\u57f7\u884csource .sdkman\/bin\/sdkman-init.sh\u547d\u4ee4\u5c31\u53ef\u4ee5\u4e86\u3002<br \/>\n\u55ef\uff0c\u5982\u679c\u901a\u904ecurl -s api.sdkman.io | bash\u547d\u4ee4\u5b89\u88dd\u5b8c\u6210\u5f8c\uff0c\u53ea\u9700\u8981\u91cd\u65b0\u555f\u52d5\u7d42\u7aef\uff0c\u5982\u679c\u4e0d\u6e05\u695a\u7684\u8a71\uff0c\u53ea\u9700\u8981\u91cd\u65b0\u555f\u52d5\u64cd\u4f5c\u7cfb\u7d71\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n<p>\u5982\u679c\u5df2\u7ecf\u5b89\u88c5\u4e86gvm\uff0c\u6267\u884cgvm &#8211;help\u7b49\u547d\u4ee4\u4f1a\u8be2\u95ee\u662f\u5426\u8981\u5347\u7ea7\u3002<br \/>\n(\u4ece\u4ee5\u4e0b\u793a\u4f8b\u53ef\u4ee5\u770b\u51fa\u6765\uff0cgvm\u6ca1\u6709&#8211;help\u8fd9\u4e2a\u547d\u4ee4\u3002\u3002\u3002\u53ea\u8981\u8fd0\u884cgvm\uff0c\u5b83\u4f1a\u68c0\u67e5\u66f4\u65b0\uff0c\u7136\u540e\u544a\u8bc9\u4f60sdkman\u5df2\u7ecf\u53d1\u5e03\u4e86\uff01\u771f\u662f\u53cb\u5584\uff01)<\/p>\n<p>\u8bf7\u6ce8\u610f\uff0c\u4ecegvm\u5347\u7ea7\u81f3sdkman\u540e\uff0c~\/.gvm\u76ee\u5f55\u5c06\u88ab\u5220\u9664\u3002<br \/>\n\u57fa\u672c\u4e0a\u53ea\u9700\u5c06\u5176\u8fc1\u79fb\u5230~\/.sdkman\u76ee\u5f55\u5373\u53ef\uff0c\u4e0d\u4f1a\u51fa\u73b0\u95ee\u9898\uff0c\u4f46\u5982\u679c\u4e0d\u653e\u5fc3\uff0c\u5efa\u8bae\u63d0\u524d\u5907\u4efd\u3002<br \/>\n\u6b64\u5916\uff0c\u5982\u679c\u60a8\u5728\u50cfIntelliJ\u8fd9\u6837\u7684\u96c6\u6210\u5f00\u53d1\u73af\u5883\u4e2d\u5f15\u7528\u4e86.gvm\u76ee\u5f55\u4e2d\u7684Grails\u6216Groovy\u7b49\u5185\u5bb9\uff0c\u5219\u9700\u8981\u66f4\u6539\u81f3~\/.sdkman\u6765\u8fdb\u884c\u8bbf\u95ee\u3002\u73af\u5883\u53d8\u91cf\u4e5f\u662f\u540c\u6837\u60c5\u51b5\u3002<\/p>\n<p>\u4ee5\u4e0b\u662f\u6211\u5347\u7ea7sdkman\u65f6\u7684\u65e5\u5fd7\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% gvm --help\r\n==== BROADCAST =================================================================\r\n<\/span><span class=\"gp\">* 14\/09\/15: Grails 3.0.7 has been released on GVM. #<\/span>grailsfw\r\n<span class=\"gp\">* 14\/09\/15: Grails 3.1.0.M1 has been released on GVM. #<\/span>grailsfw\r\n<span class=\"gp\">* 14\/09\/15: Gradle 2.7 has been released on GVM. #<\/span>gradle\r\n<span class=\"go\">================================================================================\r\nInvalid command: --help\r\n\r\n<\/span><span class=\"gp\">Usage: gvm &lt;command&gt;<\/span> &lt;candidate&gt; <span class=\"o\">[<\/span>version]\r\n<span class=\"gp\">       gvm offline &lt;enable|disable&gt;<\/span>\r\n<span class=\"go\">\r\n   commands:\r\n<\/span><span class=\"gp\">       install   or i    &lt;candidate&gt;<\/span> <span class=\"o\">[<\/span>version]\r\n<span class=\"gp\">       uninstall or rm   &lt;candidate&gt;<\/span> &lt;version&gt;\r\n<span class=\"gp\">       list      or ls   &lt;candidate&gt;<\/span>\r\n<span class=\"gp\">       use       or u    &lt;candidate&gt;<\/span> <span class=\"o\">[<\/span>version]\r\n<span class=\"gp\">       default   or d    &lt;candidate&gt;<\/span> <span class=\"o\">[<\/span>version]\r\n<span class=\"go\">       current   or c    [candidate]\r\n       outdated  or o    [candidate]\r\n       version   or v\r\n       broadcast or b\r\n       help      or h\r\n<\/span><span class=\"gp\">       offline           &lt;enable|disable&gt;<\/span>\r\n<span class=\"go\">       selfupdate        [force]\r\n<\/span><span class=\"gp\">       flush             &lt;candidates|broadcast|archives|temp&gt;<\/span>\r\n<span class=\"go\">\r\n   candidate  :  asciidoctorj, crash, gaiden, glide, gradle, grails, griffon, groovy, groovyserv, jbake, lazybones, springboot, vertx\r\n   version    :  where optional, defaults to latest stable if not provided\r\n\r\neg: gvm install groovy\r\n\r\n\r\nATTENTION: A new version of GVM is available...\r\n\r\nThe current version is 3.0.0, but you have 2.4.1.\r\n\r\nWould you like to upgrade now? (Y\/n)Y\r\n\r\nGVM has been detected on your system...\r\n\r\nThis update will upgrade GVM to SDKMAN!\r\n\r\nDo you want to continue with the upgrade? (Y\/n)Y\r\n\r\n\r\nThanks for upgrading to...                                                       \r\n\r\n\r\n     SSSSSSSSSSSSSSS DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK                  \r\n   SS:::::::::::::::SD::::::::::::DDD    K:::::::K    K:::::K                  \r\n  S:::::SSSSSS::::::SD:::::::::::::::DD  K:::::::K    K:::::K                  \r\n  S:::::S     SSSSSSSDDD:::::DDDDD:::::D K:::::::K   K::::::K                  \r\n  S:::::S              D:::::D    D:::::DKK::::::K  K:::::KKK                  \r\n  S:::::S              D:::::D     D:::::D K:::::K K:::::K                     \r\n   S::::SSSS           D:::::D     D:::::D K::::::K:::::K                      \r\n    SS::::::SSSSS      D:::::D     D:::::D K:::::::::::K                       \r\n      SSS::::::::SS    D:::::D     D:::::D K:::::::::::K                       \r\n         SSSSSS::::S   D:::::D     D:::::D K::::::K:::::K                      \r\n              S:::::S  D:::::D     D:::::D K:::::K K:::::K                     \r\n              S:::::S  D:::::D    D:::::DKK::::::K  K:::::KKK                  \r\n  SSSSSSS     S:::::SDDD:::::DDDDD:::::D K:::::::K   K::::::K                  \r\n  S::::::SSSSSS:::::SD:::::::::::::::DD  K:::::::K    K:::::K                  \r\n  S:::::::::::::::SS D::::::::::::DDD    K:::::::K    K:::::K                  \r\n   SSSSSSSSSSSSSSS   DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK                  \r\n\r\n\r\n                      mmmmmmm    mmmmmmm     aaaaaaaaaaaaa  nnnn  nnnnnnnn     \r\n                    mm:::::::m  m:::::::mm   a::::::::::::a n:::nn::::::::nn   \r\n                   m::::::::::mm::::::::::m  aaaaaaaaa:::::an::::::::::::::nn  \r\n                   m::::::::::::::::::::::m           a::::ann:::::::::::::::n \r\n                   m:::::mmm::::::mmm:::::m    aaaaaaa:::::a  n:::::nnnn:::::n \r\n                   m::::m   m::::m   m::::m  aa::::::::::::a  n::::n    n::::n \r\n                   m::::m   m::::m   m::::m a::::aaaa::::::a  n::::n    n::::n \r\n                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n \r\n                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n \r\n                   m::::m   m::::m   m::::ma:::::aaaa::::::a  n::::n    n::::n \r\n                   m::::m   m::::m   m::::m a::::::::::aa:::a n::::n    n::::n \r\n                   mmmmmm   mmmmmm   mmmmmm  aaaaaaaaaa  aaaa nnnnnn    nnnnnn \r\n\r\n\r\n\r\nUpdating SDKMAN...\r\n\r\n\r\nSuccessfully upgraded SDKMAN.\r\n\r\nPlease open a new terminal, or run the following in the existing one:\r\n\r\n    export SDKMAN_DIR=\"\/home\/k-kuwana\/.sdkman\" &amp;&amp; source \"\/home\/k-kuwana\/.sdkman\/bin\/sdkman-init.sh\"\r\n\r\n\r\ntouch: `\/home\/k-kuwana\/.gvm\/var\/delay_upgrade' \u306b touch \u3067\u304d\u307e\u305b\u3093: \u305d\u306e\u3088\u3046\u306a\u30d5\u30a1\u30a4\u30eb\u3084\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\r\nkkuwana% \r\n\r\n<\/span><\/code><\/pre>\n<p>\u6709\u4e00\u4e9b\u9519\u8bef\uff0c\u4f46\u6682\u65f6\u5148\u5ffd\u7565&#8230;<br \/>\n\u63a5\u4e0b\u6765\uff0c\u6839\u636e\u6d88\u606f\u6267\u884c\u5bfc\u51fa\u64cd\u4f5c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% export SDKMAN_DIR=\"\/home\/k-kuwana\/.sdkman\" &amp;&amp; source \"\/home\/k-kuwana\/.sdkman\/bin\/sdkman-init.sh\"\r\n<\/span><\/code><\/pre>\n<h1>\u5c1d\u8bd5\u4f7f\u7528<br \/>\n\u8fd9\u4e2a\u547d\u4ee4\u88ab\u547d\u540d\u4e3a&#8221;sdk&#8221;\uff0c\u4ee5\u786e\u4fdd\u5b83\u4e0e\u5176\u4ed6\u5b8c\u5168\u4e0d\u540c\u7684\u547d\u4ee4\u4e0d\u53d1\u751f\u51b2\u7a81\u3002<\/p>\n<p>\u6682\u65f6\u5c06\u5e2e\u52a9\u4fe1\u606f\u663e\u793a\u51fa\u6765\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% sdk help\r\n\r\n<\/span><span class=\"gp\">Usage: sdk &lt;command&gt;<\/span> &lt;candidate&gt; <span class=\"o\">[<\/span>version]\r\n<span class=\"gp\">       sdk offline &lt;enable|disable&gt;<\/span>\r\n<span class=\"go\">\r\n   commands:\r\n<\/span><span class=\"gp\">       install   or i    &lt;candidate&gt;<\/span> <span class=\"o\">[<\/span>version]\r\n<span class=\"gp\">       uninstall or rm   &lt;candidate&gt;<\/span> &lt;version&gt;\r\n<span class=\"gp\">       list      or ls   &lt;candidate&gt;<\/span>\r\n<span class=\"gp\">       use       or u    &lt;candidate&gt;<\/span> <span class=\"o\">[<\/span>version]\r\n<span class=\"gp\">       default   or d    &lt;candidate&gt;<\/span> <span class=\"o\">[<\/span>version]\r\n<span class=\"go\">       current   or c    [candidate]\r\n       outdated  or o    [candidate]\r\n       version   or v\r\n       broadcast or b\r\n       help      or h\r\n<\/span><span class=\"gp\">       offline           &lt;enable|disable&gt;<\/span>\r\n<span class=\"go\">       selfupdate        [force]\r\n<\/span><span class=\"gp\">       flush             &lt;candidates|broadcast|archives|temp&gt;<\/span>\r\n<span class=\"go\">\r\n   candidate  :  asciidoctorj, crash, gaiden, glide, gradle, grails, griffon, groovy, groovyserv, jbake, jbossforge, lazybones, springboot, vertx\r\n   version    :  where optional, defaults to latest stable if not provided\r\n\r\neg: sdk install groovy\r\nkkuwana% \r\n\r\n<\/span><\/code><\/pre>\n<p>\u6211\u5c1d\u8bd5\u63d0\u4f9b\u7c7b\u4f3c\u4e8e gvm \u7684\u529f\u80fd\u3002\u8fd9\u662f\u4e00\u4efd\u53ef\u4f9b\u4f7f\u7528\u7684 Groovy \u5217\u8868\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% sdk list groovy\r\n\r\n================================================================================\r\nAvailable Groovy Versions\r\n================================================================================\r\n     2.4.4                2.3.1                2.0.8                1.8.3          \r\n     2.4.3                2.3.0                2.0.7                1.8.2          \r\n     2.4.2              * 2.2.2                2.0.6                1.8.1          \r\n     2.4.1                2.2.1                2.0.5                1.8.0          \r\n   * 2.4.0                2.2.0                2.0.4                1.7.9          \r\n     2.3.9                2.1.9                2.0.3                1.7.8          \r\n     2.3.8                2.1.8                2.0.2                1.7.7          \r\n   * 2.3.7                2.1.7                2.0.1                1.7.6          \r\n     2.3.6                2.1.6                2.0.0                1.7.5          \r\n     2.3.5                2.1.5                1.8.9                1.7.4          \r\n     2.3.4                2.1.4                1.8.8                1.7.3          \r\n   * 2.3.3                2.1.3                1.8.7                1.7.2          \r\n     2.3.2                2.1.2                1.8.6                1.7.11         \r\n     2.3.11               2.1.1                1.8.5                1.7.10         \r\n     2.3.10               2.1.0                1.8.4                1.7.1          \r\n\r\n================================================================================\r\n+ - local version\r\n* - installed\r\n<\/span><span class=\"gp\">&gt;<\/span> - currently <span class=\"k\">in <\/span>use\r\n<span class=\"go\">================================================================================\r\nkkuwana% \r\n<\/span><\/code><\/pre>\n<p>\u5df2\u7ecf\u901a\u8fc7gvm\u5b89\u88c5\u7684Groovy\u4e5f\u5e94\u8be5\u6ca1\u95ee\u9898\u3002<br \/>\n\u6211\u4f1a\u5c1d\u8bd5\u5728\u5df2\u5b89\u88c5\u7684\u7248\u672c\u4e2d\u5207\u6362\u3002<br \/>\n\u547d\u4ee4\u662fsdk use {\u4ea7\u54c1\u540d\u79f0} {\u7248\u672c}\u3002<br \/>\n\u9996\u5148\uff0c\u6211\u4f1a\u5c1d\u8bd5\u786e\u8ba4\u5f53\u524d\u7684Groovy\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% groovy -v\r\nzsh: command not found: groovy\r\nkkuwana% \r\n<\/span><\/code><\/pre>\n<p>\u521a\u624d\u51fa\u73b0\u7684\u9519\u8bef\u4f3c\u4e4e\u662f\u8fd9\u4e2a\u95ee\u9898\u3002\u6839\u636e\u4e0a\u9762\u7684\u7248\u672c\u5217\u8868\uff0c\u53ef\u4ee5\u770b\u51fa\u9ed8\u8ba4\u4f7f\u7528\u7684\u4ea7\u54c1\u4fe1\u606f\u5df2\u7ecf\u4e22\u5931\u4e86\u3002<br \/>\n\u6211\u5c06\u5c1d\u8bd5\u6307\u5b9a\u7248\u672c\u6765\u8fdb\u884c\u6d4b\u8bd5\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% sdk use groovy 2.4.0\r\n\r\nUsing groovy version 2.4.0 in this shell.\r\nkkuwana% groovy -v\r\nGroovy Version: 2.4.0 JVM: 1.8.0_25 Vendor: Oracle Corporation OS: Linux\r\nkkuwana% \r\nkkuwana% groovy -v\r\nGroovy Version: 2.3.7 JVM: 1.8.0_25 Vendor: Oracle Corporation OS: Linux\r\nkkuwana% \r\n<\/span><\/code><\/pre>\n<p>\u4f60\u771f\u68d2\u3002<br \/>\n\u6211\u518d\u770b\u4e00\u6b21\u53ef\u7528\u7684Groovy\u5217\u8868\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% sdk list groovy\r\n\r\n================================================================================\r\nAvailable Groovy Versions\r\n================================================================================\r\n     2.4.4                2.3.1                2.0.8                1.8.3          \r\n     2.4.3                2.3.0                2.0.7                1.8.2          \r\n     2.4.2              * 2.2.2                2.0.6                1.8.1          \r\n     2.4.1                2.2.1                2.0.5                1.8.0          \r\n<\/span><span class=\"gp\"> &gt;<\/span> <span class=\"k\">*<\/span> 2.4.0                2.2.0                2.0.4                1.7.9          \r\n<span class=\"go\">     2.3.9                2.1.9                2.0.3                1.7.8          \r\n     2.3.8                2.1.8                2.0.2                1.7.7          \r\n   * 2.3.7                2.1.7                2.0.1                1.7.6          \r\n     2.3.6                2.1.6                2.0.0                1.7.5          \r\n     2.3.5                2.1.5                1.8.9                1.7.4          \r\n     2.3.4                2.1.4                1.8.8                1.7.3          \r\n   * 2.3.3                2.1.3                1.8.7                1.7.2          \r\n     2.3.2                2.1.2                1.8.6                1.7.11         \r\n     2.3.11               2.1.1                1.8.5                1.7.10         \r\n     2.3.10               2.1.0                1.8.4                1.7.1          \r\n\r\n================================================================================\r\n+ - local version\r\n* - installed\r\n<\/span><span class=\"gp\">&gt;<\/span> - currently <span class=\"k\">in <\/span>use\r\n<span class=\"go\">================================================================================\r\n<\/span><\/code><\/pre>\n<p>\u73b0\u5728\u5df2\u7ecf\u66f4\u65b0\u52302.4.0\u7248\u672c\u5e76\u4e14\u6b63\u5728\u6b63\u786e\u4f7f\u7528\u4e2d\u3002<br \/>\n\u6211\u8fd8\u5c06\u5c1d\u8bd5\u8fdb\u884c\u5b89\u88c5\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">kkuwana<\/span><span class=\"o\">%<\/span> <span class=\"n\">sdk<\/span> <span class=\"n\">list<\/span> <span class=\"n\">groovy<\/span>\r\n\r\n<span class=\"o\">================================================================================<\/span>\r\n<span class=\"n\">Available<\/span> <span class=\"n\">Groovy<\/span> <span class=\"n\">Versions<\/span>\r\n<span class=\"o\">================================================================================<\/span>\r\n     <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span>                <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">1<\/span>                <span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">8<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">3<\/span>          \r\n     <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">3<\/span>                <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">0<\/span>                <span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">7<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">2<\/span>          \r\n     <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">2<\/span>              <span class=\"o\">*<\/span> <span class=\"mf\">2.2<\/span><span class=\"o\">.<\/span><span class=\"mi\">2<\/span>                <span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">6<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">1<\/span>          \r\n     <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">1<\/span>                <span class=\"mf\">2.2<\/span><span class=\"o\">.<\/span><span class=\"mi\">1<\/span>                <span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">5<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">0<\/span>          \r\n <span class=\"o\">&gt;<\/span> <span class=\"o\">*<\/span> <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">0<\/span>                <span class=\"mf\">2.2<\/span><span class=\"o\">.<\/span><span class=\"mi\">0<\/span>                <span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">9<\/span>          \r\n     <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">9<\/span>                <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">9<\/span>                <span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">3<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">8<\/span>          \r\n     <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">8<\/span>                <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">8<\/span>                <span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">2<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">7<\/span>          \r\n   <span class=\"o\">*<\/span> <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">7<\/span>                <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">7<\/span>                <span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">1<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">6<\/span>          \r\n     <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">6<\/span>                <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">6<\/span>                <span class=\"mf\">2.0<\/span><span class=\"o\">.<\/span><span class=\"mi\">0<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">5<\/span>          \r\n     <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">5<\/span>                <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">5<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">9<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span>          \r\n     <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span>                <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">8<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">3<\/span>          \r\n   <span class=\"o\">*<\/span> <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">3<\/span>                <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">3<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">7<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">2<\/span>          \r\n     <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">2<\/span>                <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">2<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">6<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">11<\/span>         \r\n     <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">11<\/span>               <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">1<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">5<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">10<\/span>         \r\n     <span class=\"mf\">2.3<\/span><span class=\"o\">.<\/span><span class=\"mi\">10<\/span>               <span class=\"mf\">2.1<\/span><span class=\"o\">.<\/span><span class=\"mi\">0<\/span>                <span class=\"mf\">1.8<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span>                <span class=\"mf\">1.7<\/span><span class=\"o\">.<\/span><span class=\"mi\">1<\/span>          \r\n\r\n<span class=\"o\">================================================================================<\/span>\r\n<span class=\"o\">+<\/span> <span class=\"o\">-<\/span> <span class=\"n\">local<\/span> <span class=\"n\">version<\/span>\r\n<span class=\"o\">*<\/span> <span class=\"o\">-<\/span> <span class=\"n\">installed<\/span>\r\n<span class=\"o\">&gt;<\/span> <span class=\"o\">-<\/span> <span class=\"n\">currently<\/span> <span class=\"k\">in<\/span> <span class=\"n\">use<\/span>\r\n<span class=\"o\">================================================================================<\/span>\r\n<span class=\"n\">kkuwana<\/span><span class=\"o\">%<\/span> <span class=\"n\">sdk<\/span> <span class=\"n\">install<\/span> <span class=\"n\">groovy<\/span> <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span>\r\n\r\n<span class=\"nl\">Downloading:<\/span> <span class=\"n\">groovy<\/span> <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span>\r\n\r\n  <span class=\"o\">%<\/span> <span class=\"n\">Total<\/span>    <span class=\"o\">%<\/span> <span class=\"n\">Received<\/span> <span class=\"o\">%<\/span> <span class=\"n\">Xferd<\/span>  <span class=\"n\">Average<\/span> <span class=\"n\">Speed<\/span>   <span class=\"n\">Time<\/span>    <span class=\"n\">Time<\/span>     <span class=\"n\">Time<\/span>  <span class=\"n\">Current<\/span>\r\n                                 <span class=\"n\">Dload<\/span>  <span class=\"n\">Upload<\/span>   <span class=\"n\">Total<\/span>   <span class=\"n\">Spent<\/span>    <span class=\"n\">Left<\/span>  <span class=\"n\">Speed<\/span>\r\n  <span class=\"mi\">0<\/span>     <span class=\"mi\">0<\/span>    <span class=\"mi\">0<\/span>     <span class=\"mi\">0<\/span>    <span class=\"mi\">0<\/span>     <span class=\"mi\">0<\/span>      <span class=\"mi\">0<\/span>      <span class=\"mi\">0<\/span> <span class=\"o\">--:--:--<\/span> <span class=\"o\">--:--:--<\/span> <span class=\"o\">--:--:--<\/span>     <span class=\"mi\">0<\/span>\r\n  <span class=\"mi\">0<\/span>     <span class=\"mi\">0<\/span>    <span class=\"mi\">0<\/span>     <span class=\"mi\">0<\/span>    <span class=\"mi\">0<\/span>     <span class=\"mi\">0<\/span>      <span class=\"mi\">0<\/span>      <span class=\"mi\">0<\/span> <span class=\"o\">--:--:--<\/span> <span class=\"o\">--:--:--<\/span> <span class=\"o\">--:--:--<\/span>     <span class=\"mi\">0<\/span>\r\n<span class=\"mi\">100<\/span> <span class=\"mf\">30.9<\/span><span class=\"n\">M<\/span>  <span class=\"mi\">100<\/span> <span class=\"mf\">30.9<\/span><span class=\"n\">M<\/span>    <span class=\"mi\">0<\/span>     <span class=\"mi\">0<\/span>   <span class=\"mi\">983<\/span><span class=\"n\">k<\/span>      <span class=\"mi\">0<\/span>  <span class=\"mi\">0<\/span><span class=\"o\">:<\/span><span class=\"mi\">00<\/span><span class=\"o\">:<\/span><span class=\"mi\">32<\/span>  <span class=\"mi\">0<\/span><span class=\"o\">:<\/span><span class=\"mi\">00<\/span><span class=\"o\">:<\/span><span class=\"mi\">32<\/span> <span class=\"o\">--:--:--<\/span>  <span class=\"mi\">1092<\/span>\r\n\r\n<span class=\"nl\">Installing:<\/span> <span class=\"n\">groovy<\/span> <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span>\r\n<span class=\"n\">Done<\/span> <span class=\"n\">installing<\/span><span class=\"o\">!<\/span>\r\n\r\n<span class=\"n\">Do<\/span> <span class=\"n\">you<\/span> <span class=\"n\">want<\/span> <span class=\"n\">groovy<\/span> <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span> <span class=\"n\">to<\/span> <span class=\"n\">be<\/span> <span class=\"n\">set<\/span> <span class=\"k\">as<\/span> <span class=\"k\">default<\/span><span class=\"o\">?<\/span> <span class=\"o\">(<\/span><span class=\"n\">Y<\/span><span class=\"o\">\/<\/span><span class=\"n\">n<\/span><span class=\"o\">):<\/span> <span class=\"n\">Y<\/span>\r\n\r\n<span class=\"n\">Setting<\/span> <span class=\"n\">groovy<\/span> <span class=\"mf\">2.4<\/span><span class=\"o\">.<\/span><span class=\"mi\">4<\/span> <span class=\"k\">as<\/span> <span class=\"k\">default<\/span><span class=\"o\">.<\/span>\r\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u4e86\u3002<br \/>\n\u73fe\u5728\u8b93\u6211\u5011\u4f86\u770b\u4e00\u4e0bGroovy\u7684\u7248\u672c\u5427\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% groovy -v\r\nGroovy Version: 2.4.0 JVM: 1.8.0_25 Vendor: Oracle Corporation OS: Linux\r\nkkuwana% \r\n<\/span><\/code><\/pre>\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u7248\u672c\u6ca1\u6709\u6539\u53d8\u3002<\/p>\n<p>\u8ffd\u8bb0<br \/>\n\u6211\u5728Twitter\u4e0a\u6536\u5230\u6307\u6458\u3002\u5f88\u53ef\u80fd\u8fd9\u662f\u56e0\u4e3a\u5728\u8fd9\u4e2a\u7ec8\u7aef\u5185\u5df2\u7ecf\u4f7f\u7528\u4e86use\u547d\u4ee4\u6307\u5b9a\u7248\u672c\u7684\u7f18\u6545\u3002\u5982\u679c\u5f00\u542f\u53e6\u4e00\u4e2a\u7ec8\u7aef\uff0c\u5e94\u8be5\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n<p>\u8ba9\u6211\u4eec\u518d\u6b21\u67e5\u770b\u6e05\u5355\u5427\u3002 ba.)<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% sdk list groovy\r\n\r\n================================================================================\r\nAvailable Groovy Versions\r\n================================================================================\r\n   * 2.4.4                2.3.1                2.0.8                1.8.3          \r\n     2.4.3                2.3.0                2.0.7                1.8.2          \r\n     2.4.2              * 2.2.2                2.0.6                1.8.1          \r\n     2.4.1                2.2.1                2.0.5                1.8.0          \r\n<\/span><span class=\"gp\"> &gt;<\/span> <span class=\"k\">*<\/span> 2.4.0                2.2.0                2.0.4                1.7.9          \r\n<span class=\"go\">     2.3.9                2.1.9                2.0.3                1.7.8          \r\n     2.3.8                2.1.8                2.0.2                1.7.7          \r\n   * 2.3.7                2.1.7                2.0.1                1.7.6          \r\n     2.3.6                2.1.6                2.0.0                1.7.5          \r\n     2.3.5                2.1.5                1.8.9                1.7.4          \r\n     2.3.4                2.1.4                1.8.8                1.7.3          \r\n   * 2.3.3                2.1.3                1.8.7                1.7.2          \r\n     2.3.2                2.1.2                1.8.6                1.7.11         \r\n     2.3.11               2.1.1                1.8.5                1.7.10         \r\n     2.3.10               2.1.0                1.8.4                1.7.1          \r\n\r\n================================================================================\r\n+ - local version\r\n* - installed\r\n<\/span><span class=\"gp\">&gt;<\/span> - currently <span class=\"k\">in <\/span>use\r\n<span class=\"go\">================================================================================\r\nkkuwana% \r\n<\/span><\/code><\/pre>\n<p>\u5b89\u88c5\u770b\u8d77\u6765\u6ca1\u6709\u95ee\u9898\u3002<br \/>\n\u90a3\u4e48\u6211\u4f1a\u518d\u5c1d\u8bd5\u624b\u52a8\u5207\u6362\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kkuwana% sdk use groovy 2.4.4\r\n\r\nUsing groovy version 2.4.4 in this shell.\r\nkkuwana% groovy -v\r\nGroovy Version: 2.4.4 JVM: 1.8.0_25 Vendor: Oracle Corporation OS: Linux\r\nkkuwana% \r\nkkuwana% \r\nkkuwana% \r\nkkuwana% sdk use groovy 2.4.0\r\n\r\nUsing groovy version 2.4.0 in this shell.\r\nkkuwana% \r\n<\/span><\/code><\/pre>\n<p>\u5207\u6362\u6210\u529f\u4e86\u3002<br \/>\n\u7531\u4e8e\u521a\u521a\u53d1\u5e03\u4e0d\u4e45\uff08\u672c\u5e94\u5982\u6b64\uff09\uff0c\u6240\u4ee5\u6211\u8ba4\u4e3a\u8fd9\u65b9\u9762\u4e5f\u4f1a\u4e0d\u65ad\u5730\u53d8\u5f97\u66f4\u52a0\u7cbe\u7ec6\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6211\u8f6c\u4e16\u4e3agvm\u3002\u4ee5\u524d\u4f7f\u7528gvm\u5de5\u5177\u6765\u5b89\u88c5\u548c\u7ba1\u7406Grails\u3001Groovy\u7b49\u4ea7\u54c1\uff0c\u4f46\u73b0\u5728\u5b83\u5df2\u7ecf\u53d8\u6210\u4e86\u4e00\u4e2a\u540d\u4e3aSD [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[227],"class_list":["post-31343","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-227"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"\u5173\u4e8e\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK\u7684\u6280\u672f\u6587\u7ae0\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528sdkman\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5java\u548cgroovy\u7684sdk\u3002note-the-given-phrase-is-written-in-both-english-and-japa\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK\" \/>\n<meta property=\"og:description\" content=\"\u5173\u4e8e\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK\u7684\u6280\u672f\u6587\u7ae0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528sdkman\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5java\u548cgroovy\u7684sdk\u3002note-the-given-phrase-is-written-in-both-english-and-japa\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-25T02:42:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-12T15:33:00+00:00\" \/>\n<meta name=\"author\" content=\"\u5b87, \u534e\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u5b87, \u534e\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/\",\"name\":\"\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-02-25T02:42:22+00:00\",\"dateModified\":\"2025-08-12T15:33:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\"},\"description\":\"\u5173\u4e8e\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK\u7684\u6280\u672f\u6587\u7ae0\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\",\"name\":\"\u5b87, \u534e\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"caption\":\"\u5b87, \u534e\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK - Blog - Silicon Cloud","description":"\u5173\u4e8e\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK\u7684\u6280\u672f\u6587\u7ae0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528sdkman\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5java\u548cgroovy\u7684sdk\u3002note-the-given-phrase-is-written-in-both-english-and-japa\/","og_locale":"zh_CN","og_type":"article","og_title":"\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK","og_description":"\u5173\u4e8e\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK\u7684\u6280\u672f\u6587\u7ae0","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528sdkman\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5java\u548cgroovy\u7684sdk\u3002note-the-given-phrase-is-written-in-both-english-and-japa\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-02-25T02:42:22+00:00","article_modified_time":"2025-08-12T15:33:00+00:00","author":"\u5b87, \u534e","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u5b87, \u534e","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/","name":"\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-02-25T02:42:22+00:00","dateModified":"2025-08-12T15:33:00+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458"},"description":"\u5173\u4e8e\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK\u7684\u6280\u672f\u6587\u7ae0","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u4f7f\u7528SDKMAN\uff08\u524d\u8eab\u4e3agvm\uff09\u6765\u5b89\u88c5Java\u548cGroovy\u7684SDK"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458","name":"\u5b87, \u534e","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","caption":"\u5b87, \u534e"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8sdkman%ef%bc%88%e5%89%8d%e8%ba%ab%e4%b8%bagvm%ef%bc%89%e6%9d%a5%e5%ae%89%e8%a3%85java%e5%92%8cgroovy%e7%9a%84sdk%e3%80%82note-the-given-phrase-is-written-in-both-english-and-japa\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/31343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=31343"}],"version-history":[{"count":4,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/31343\/revisions"}],"predecessor-version":[{"id":111930,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/31343\/revisions\/111930"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=31343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=31343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=31343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}