Files
weiyu/deploy/server/docs/zh-CN/assets/js/e2245c5e.5f0502e9.js

1 line
12 KiB
JavaScript

"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2606],{1633:(e,n,l)=>{l.r(n),l.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"deploy/depend/jdk","title":"JDK17 \u5b89\u88c5\u6307\u5357","description":"- \u64cd\u4f5c\u7cfb\u7edf\uff1aUbuntu 24.04 LTS","source":"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deploy/depend/jdk.md","sourceDirName":"deploy/depend","slug":"/deploy/depend/jdk","permalink":"/docs/zh-CN/docs/deploy/depend/jdk","draft":false,"unlisted":false,"editUrl":"https://github.com/bytedesk/bytedesk/docs/deploy/depend/jdk.md","tags":[],"version":"current","sidebarPosition":10,"frontMatter":{"sidebar_label":"JDK17","sidebar_position":10},"sidebar":"tutorialSidebar","previous":{"title":"Docker","permalink":"/docs/zh-CN/docs/deploy/depend/docker"},"next":{"title":"Letsencrypt","permalink":"/docs/zh-CN/docs/deploy/depend/letsencrypt"}}');var d=l(5723),i=l(6246);const r={sidebar_label:"JDK17",sidebar_position:10},c="JDK17 \u5b89\u88c5\u6307\u5357",a={},o=[{value:"\u51c6\u5907\u5de5\u4f5c",id:"\u51c6\u5907\u5de5\u4f5c",level:2},{value:"\u5b89\u88c5\u6b65\u9aa4",id:"\u5b89\u88c5\u6b65\u9aa4",level:2},{value:"\u6b65\u9aa41\uff1a\u89e3\u538bJDK\u5b89\u88c5\u5305",id:"\u6b65\u9aa41\u89e3\u538bjdk\u5b89\u88c5\u5305",level:3},{value:"\u6b65\u9aa42\uff1a\u521b\u5efa\u5b89\u88c5\u76ee\u5f55\u5e76\u79fb\u52a8JDK\u6587\u4ef6",id:"\u6b65\u9aa42\u521b\u5efa\u5b89\u88c5\u76ee\u5f55\u5e76\u79fb\u52a8jdk\u6587\u4ef6",level:3},{value:"\u6b65\u9aa43\uff1a\u914d\u7f6e\u73af\u5883\u53d8\u91cf",id:"\u6b65\u9aa43\u914d\u7f6e\u73af\u5883\u53d8\u91cf",level:3},{value:"\u6b65\u9aa44\uff1a\u9a8c\u8bc1\u5b89\u88c5",id:"\u6b65\u9aa44\u9a8c\u8bc1\u5b89\u88c5",level:3},{value:"\u5e38\u89c1\u95ee\u9898",id:"\u5e38\u89c1\u95ee\u9898",level:2},{value:"1. \u73af\u5883\u53d8\u91cf\u4e0d\u751f\u6548",id:"1-\u73af\u5883\u53d8\u91cf\u4e0d\u751f\u6548",level:3},{value:"2. \u7279\u5b9a\u7528\u6237\u914d\u7f6e",id:"2-\u7279\u5b9a\u7528\u6237\u914d\u7f6e",level:3},{value:"3. \u7ba1\u7406\u591a\u4e2aJDK\u7248\u672c",id:"3-\u7ba1\u7406\u591a\u4e2ajdk\u7248\u672c",level:3},{value:"\u52a0\u5bc6\u7b56\u7565\u914d\u7f6e\uff08JCE\uff09",id:"\u52a0\u5bc6\u7b56\u7565\u914d\u7f6ejce",level:2},{value:"\u5176\u4ed6\u8d44\u6e90",id:"\u5176\u4ed6\u8d44\u6e90",level:2}];function t(e){const n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.header,{children:(0,d.jsx)(n.h1,{id:"jdk17-\u5b89\u88c5\u6307\u5357",children:"JDK17 \u5b89\u88c5\u6307\u5357"})}),"\n",(0,d.jsx)(n.admonition,{title:"\u73af\u5883\u8981\u6c42",type:"tip",children:(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:"\u64cd\u4f5c\u7cfb\u7edf\uff1aUbuntu 24.04 LTS"}),"\n",(0,d.jsx)(n.li,{children:"\u670d\u52a1\u5668\u63a8\u8350\u914d\u7f6e\uff1a4\u68388G\u5185\u5b58"}),"\n",(0,d.jsx)(n.li,{children:"\u672c\u6559\u7a0b\u9002\u7528\u4e8e\u5728Linux\u73af\u5883\u4e0b\u5b89\u88c5Oracle JDK 17"}),"\n"]})}),"\n",(0,d.jsx)(n.h2,{id:"\u51c6\u5907\u5de5\u4f5c",children:"\u51c6\u5907\u5de5\u4f5c"}),"\n",(0,d.jsxs)(n.ol,{children:["\n",(0,d.jsxs)(n.li,{children:["\u8bbf\u95ee",(0,d.jsx)(n.a,{href:"https://www.oracle.com/java/technologies/downloads/",children:"Oracle\u5b98\u7f51"}),"\u4e0b\u8f7dJDK17"]}),"\n",(0,d.jsxs)(n.li,{children:["\u76f4\u63a5",(0,d.jsx)(n.a,{href:"https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz",children:"\u70b9\u51fb\u6b64\u94fe\u63a5"}),"\u4e0b\u8f7dLinux x64\u7248\u672c\u7684JDK17"]}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"\u5b89\u88c5\u6b65\u9aa4",children:"\u5b89\u88c5\u6b65\u9aa4"}),"\n",(0,d.jsx)(n.h3,{id:"\u6b65\u9aa41\u89e3\u538bjdk\u5b89\u88c5\u5305",children:"\u6b65\u9aa41\uff1a\u89e3\u538bJDK\u5b89\u88c5\u5305"}),"\n",(0,d.jsx)(n.p,{children:"\u5c06\u4e0b\u8f7d\u597d\u7684JDK\u538b\u7f29\u5305\u89e3\u538b\u5230\u5f53\u524d\u76ee\u5f55\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz\n"})}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:["\u89e3\u538b\u540e\u4f1a\u5f97\u5230\u540d\u4e3a",(0,d.jsx)(n.code,{children:"jdk-17.0.10"}),"\u7684\u6587\u4ef6\u5939\uff08\u7248\u672c\u53f7\u53ef\u80fd\u6709\u6240\u4e0d\u540c\uff09"]}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"\u6b65\u9aa42\u521b\u5efa\u5b89\u88c5\u76ee\u5f55\u5e76\u79fb\u52a8jdk\u6587\u4ef6",children:"\u6b65\u9aa42\uff1a\u521b\u5efa\u5b89\u88c5\u76ee\u5f55\u5e76\u79fb\u52a8JDK\u6587\u4ef6"}),"\n",(0,d.jsx)(n.p,{children:"\u521b\u5efaJava\u5b89\u88c5\u76ee\u5f55\u5e76\u5c06JDK\u6587\u4ef6\u5939\u79fb\u52a8\u5230\u8be5\u76ee\u5f55\u4e0b\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo mkdir -p /usr/java\nsudo mv jdk-17.0.10 /usr/java/\n"})}),"\n",(0,d.jsx)(n.h3,{id:"\u6b65\u9aa43\u914d\u7f6e\u73af\u5883\u53d8\u91cf",children:"\u6b65\u9aa43\uff1a\u914d\u7f6e\u73af\u5883\u53d8\u91cf"}),"\n",(0,d.jsx)(n.p,{children:"\u6211\u4eec\u9700\u8981\u914d\u7f6e\u5168\u5c40\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u6240\u6709\u7528\u6237\u90fd\u80fd\u4f7f\u7528Java\uff1a"}),"\n",(0,d.jsxs)(n.ol,{children:["\n",(0,d.jsx)(n.li,{children:"\u4f7f\u7528\u6587\u672c\u7f16\u8f91\u5668\u6253\u5f00\u5168\u5c40\u914d\u7f6e\u6587\u4ef6\uff1a"}),"\n"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo vi /etc/profile\n"})}),"\n",(0,d.jsxs)(n.ol,{start:"2",children:["\n",(0,d.jsxs)(n.li,{children:["\u5728\u6587\u4ef6",(0,d.jsx)(n.strong,{children:"\u5e95\u90e8"}),"\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\u4fe1\u606f\uff1a"]}),"\n"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"export JAVA_HOME=/usr/java/jdk-17.0.10\nexport JRE_HOME=${JAVA_HOME}/jre\nexport CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib\nexport PATH=${JAVA_HOME}/bin:$PATH\n"})}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u8bf7\u786e\u4fddJAVA_HOME\u8def\u5f84\u4e0e\u60a8\u5b9e\u9645\u7684JDK\u5b89\u88c5\u8def\u5f84\u4e00\u81f4"}),"\n"]}),"\n",(0,d.jsxs)(n.ol,{start:"3",children:["\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsxs)(n.p,{children:["\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff08\u5728vi\u4e2d\u6309ESC\uff0c\u7136\u540e\u8f93\u5165",(0,d.jsx)(n.code,{children:":wq"}),"\u56de\u8f66\uff09"]}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u4f7f\u73af\u5883\u53d8\u91cf\u7acb\u5373\u751f\u6548\uff1a"}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"source /etc/profile\n"})}),"\n",(0,d.jsx)(n.h3,{id:"\u6b65\u9aa44\u9a8c\u8bc1\u5b89\u88c5",children:"\u6b65\u9aa44\uff1a\u9a8c\u8bc1\u5b89\u88c5"}),"\n",(0,d.jsx)(n.p,{children:"\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1JDK\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"java -version\n"})}),"\n",(0,d.jsx)(n.p,{children:"\u5982\u679c\u770b\u5230\u7c7b\u4f3c\u4e0b\u9762\u7684\u8f93\u51fa\uff0c\u8bf4\u660eJDK\u5b89\u88c5\u6210\u529f\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:'java version "17.0.10" 2024-01-16 LTS\nJava(TM) SE Runtime Environment (build 17.0.10+11-LTS-240)\nJava HotSpot(TM) 64-Bit Server VM (build 17.0.10+11-LTS-240, mixed mode, sharing)\n'})}),"\n",(0,d.jsx)(n.h2,{id:"\u5e38\u89c1\u95ee\u9898",children:"\u5e38\u89c1\u95ee\u9898"}),"\n",(0,d.jsx)(n.h3,{id:"1-\u73af\u5883\u53d8\u91cf\u4e0d\u751f\u6548",children:"1. \u73af\u5883\u53d8\u91cf\u4e0d\u751f\u6548"}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u6267\u884c",(0,d.jsx)(n.code,{children:"java -version"}),'\u547d\u4ee4\u540e\u63d0\u793a"\u547d\u4ee4\u672a\u627e\u5230"\uff0c\u53ef\u80fd\u662f\u73af\u5883\u53d8\u91cf\u672a\u6b63\u786e\u8bbe\u7f6e\u3002\u5c1d\u8bd5\u4ee5\u4e0b\u65b9\u6cd5\uff1a']}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\u786e\u8ba4\u662f\u5426\u6b63\u786e\u6267\u884c\u4e86",(0,d.jsx)(n.code,{children:"source /etc/profile"}),"\u547d\u4ee4"]}),"\n",(0,d.jsxs)(n.li,{children:["\u68c0\u67e5",(0,d.jsx)(n.code,{children:"/etc/profile"}),"\u6587\u4ef6\u4e2d\u6dfb\u52a0\u7684\u8def\u5f84\u662f\u5426\u6b63\u786e"]}),"\n",(0,d.jsx)(n.li,{children:"\u5c1d\u8bd5\u91cd\u65b0\u767b\u5f55\u7cfb\u7edf\u540e\u518d\u6d4b\u8bd5"}),"\n"]}),"\n",(0,d.jsx)(n.h3,{id:"2-\u7279\u5b9a\u7528\u6237\u914d\u7f6e",children:"2. \u7279\u5b9a\u7528\u6237\u914d\u7f6e"}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u53ea\u60f3\u4e3a\u5f53\u524d\u7528\u6237\u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u53ef\u4ee5\u7f16\u8f91",(0,d.jsx)(n.code,{children:"~/.bashrc"}),"\u6216",(0,d.jsx)(n.code,{children:"~/.profile"}),"\u6587\u4ef6\uff0c\u6dfb\u52a0\u76f8\u540c\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u3002"]}),"\n",(0,d.jsx)(n.h3,{id:"3-\u7ba1\u7406\u591a\u4e2ajdk\u7248\u672c",children:"3. \u7ba1\u7406\u591a\u4e2aJDK\u7248\u672c"}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u9700\u8981\u5728\u540c\u4e00\u7cfb\u7edf\u4e0a\u5b89\u88c5\u591a\u4e2aJDK\u7248\u672c\uff0c\u53ef\u4ee5\u4f7f\u7528",(0,d.jsx)(n.code,{children:"alternatives"}),"\u547d\u4ee4\u8fdb\u884c\u7ba1\u7406\uff1a"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"sudo update-alternatives --install /usr/bin/java java /usr/java/jdk-17.0.10/bin/java 1\n"})}),"\n",(0,d.jsx)(n.h2,{id:"\u52a0\u5bc6\u7b56\u7565\u914d\u7f6ejce",children:"\u52a0\u5bc6\u7b56\u7565\u914d\u7f6e\uff08JCE\uff09"}),"\n",(0,d.jsx)(n.admonition,{type:"note",children:(0,d.jsx)(n.p,{children:"JDK 17\u9ed8\u8ba4\u5df2\u5305\u542b\u65e0\u9650\u5236\u52a0\u5bc6\u7b56\u7565\u3002\u5bf9\u4e8eJDK 8\u53ca\u4ee5\u4e0b\u7248\u672c\uff0c\u53ef\u80fd\u9700\u8981\u624b\u52a8\u5b89\u88c5JCE\uff08Java Cryptography Extension\uff09\u65e0\u9650\u5236\u5f3a\u5ea6\u52a0\u5bc6\u7b56\u7565\u6587\u4ef6\u3002"})}),"\n",(0,d.jsx)(n.p,{children:"\u5bf9\u4e8eJDK 8\uff0c\u7531\u4e8e\u53d7\u5230\u7f8e\u56fd\u5bf9\u51fa\u53e3\u8f6f\u4ef6\u7684\u9650\u5236\uff0c\u67d0\u4e9b\u52a0\u5bc6\u529f\u80fd\uff08\u5982\u9ad8\u5f3a\u5ea6\u52a0\u5bc6\u7b97\u6cd5\uff09\u9700\u8981\u5355\u72ec\u5b89\u88c5JCE\u7b56\u7565\u6587\u4ef6\uff1a"}),"\n",(0,d.jsxs)(n.ol,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html",children:"\u4e0b\u8f7dJDK\u52a0\u5bc6\u7b56\u7565\u6587\u4ef6\u5305"})}),"\n",(0,d.jsx)(n.li,{children:"\u89e3\u538b\u4e0b\u8f7d\u7684ZIP\u6587\u4ef6"}),"\n",(0,d.jsx)(n.li,{children:"\u5b89\u88c5\u7b56\u7565\u6587\u4ef6\uff1a"}),"\n"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"# \u5b89\u88c5\u89e3\u538b\u5de5\u5177\nsudo apt install unzip\n\n# \u89e3\u538b\u7b56\u7565\u6587\u4ef6\nunzip jce_policy-8.zip\ncd UnlimitedJCEPolicyJDK8\n\n# \u62f7\u8d1d\u7b56\u7565\u6587\u4ef6\u5230JDK\u5b89\u88c5\u76ee\u5f55\n# \u53ef\u901a\u8fc7\u547d\u4ee4 echo $JAVA_HOME \u67e5\u770bJDK\u5b89\u88c5\u8def\u5f84\n# \u66ff\u6362\u4e0b\u9762\u7684\u8def\u5f84\u4e3a\u60a8\u7684\u5b9e\u9645JDK\u8def\u5f84\nsudo cp US_export_policy.jar /usr/java/jdk1.8.0_351/jre/lib/security/\nsudo cp local_policy.jar /usr/java/jdk1.8.0_351/jre/lib/security/\n"})}),"\n",(0,d.jsx)(n.h2,{id:"\u5176\u4ed6\u8d44\u6e90",children:"\u5176\u4ed6\u8d44\u6e90"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://docs.oracle.com/en/java/javase/17/",children:"JDK 17\u5b98\u65b9\u6587\u6863"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://docs.oracle.com/javase/specs/jls/se17/html/index.html",children:"Java\u8bed\u8a00\u89c4\u8303"})}),"\n",(0,d.jsx)(n.li,{children:(0,d.jsx)(n.a,{href:"https://docs.oracle.com/en/java/javase/17/docs/specs/man/index.html",children:"JDK\u5de5\u5177\u53c2\u8003"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(t,{...e})}):t(e)}},6246:(e,n,l)=>{l.d(n,{R:()=>r,x:()=>c});var s=l(2155);const d={},i=s.createContext(d);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]);