关系经济人类预测化学自然
中准网
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

M1Mac基于vscode搭建Java开发环境(集成web框

3月7日 桃花醉投稿
  也许有人从未听说过Python,但是不会有人没听说过Java,它作为一个拥有悠久历史的老牌编程语言,常年雄踞TIOBE编程语言榜首,其顶尖的霸主地位不可撼动,而M1mac业已发布了一段时间,作为跨时代的顶级芯片系统,这两大巨头能否珠联璧合,让开发者们猛虎添翼、更上层楼?本次我们尝试在M1mac系统中搭建Java开发环境,并且集成目前Web开发领域红的发紫的Springboot框架,另外,谁说玩儿Java就必须得用Eclipse或者IntelliJIDEA?我们就骄傲地使用Vscode。
  首先需要应对的是OpenJDK的选择,这里推荐使用Azul公司提供的zulu版本,Zulu又是什么?它是Azul提供商业支持的OpenJDK商业发行版,与OracleJDK有高度的一致性,而最重要的一点是,它支持arm64架构,这正是M1mac运行Java项目的先决条件,下载地址:https:www。azul。comdownloads?versionjava11ltsosmacosarchitecturearm64bitpackagejdk,这里我们选择了LTS(长期维护)版本的jdk11,注意一定要选择Arm64版本的。
  下载成功后,双击安装即可,安装成功后,zulu会把jdk放在下面这个路径里:LibraryJavaJavaVirtualMachineszulu11。jdkContentsHome
  如果愿意,可以配置一下环境变量,这样方便以后操作多版本jdk:vim。zshrc
  添加:exportJAVAHOMELibraryJavaJavaVirtualMachineszulu11。jdkContentsHome
  存盘退出,重启终端,输入javaversion
  返回:openjdkversion11。0。1120210420LTSOpenJDKRuntimeEnvironmentZulu11。4821CA(build11。0。119LTS)OpenJDK64BitServerVMZulu11。4821CA(build11。0。119LTS,mixedmode)(base)
  表示arm64版本的JDK安装成功。
  接着来安装Maven,它是专门为Java项目打造的管理和构建工具,它能帮我们快速编译,测试,打包,发布Java项目,非常方便。
  一般情况下,可以去Maven官网下载二进制文件,这里推荐一个更简单的方案,就是使用Homebrew,注意这里一定要使用arm64架构的,安装命令如下:binbashc(curlfsSLhttps:cdn。jsdelivr。netghineo6homebrewinstallinstall。sh)
  基于arm64的Homebrew统一安装在系统的opthomebrew目录,主要是为了和老版的x86区别开。
  安装成功后,输入命令:brewv
  将会返回版本号:(base)brewvHomebrew3。0。2Homebrewhomebrewcore(gitrevisionae4118;lastcommit20210228)Homebrewhomebrewcask(gitrevision9510a9;lastcommit20210520)
  代表安装成功。
  之后使用brew命令来安装Maven:brewinstallmaven
  就是这么简单,安装成功后,无需单独配置环境变量,直接可以运行:mvnversion
  返回信息:(base)mvnversionApacheMaven3。6。3(cecedd343002696d0abb50b32b541b8a6ba2883f)Mavenhome:opthomebrewCellarmaven3。6。31libexecJavaversion:11。0。11,vendor:AzulSystems,Inc。,runtime:LibraryJavaJavaVirtualMachineszulu11。jdkContentsHomeDefaultlocale:zhCNHans,platformencoding:UTF8OSname:macosx,version:11。2。2,arch:aarch64,family:mac(base)
  默认会安装最新稳定版。
  同时,运行brewlistmaven,就可以查看maven的具体安装目录,这个一会儿会用到:(base)brewlistmavenopthomebrewCellarmaven3。6。31binmvnopthomebrewCellarmaven3。6。31binmvnDebugopthomebrewCellarmaven3。6。31binmvnyjpopthomebrewCellarmaven3。6。31libexecbin(4files)opthomebrewCellarmaven3。6。31libexecboot(2files)opthomebrewCellarmaven3。6。31libexecconf(3files)opthomebrewCellarmaven3。6。31libexeclib(70files)
  至此,运行Java项目的两大前提:JDK和Maven,我们就都安装完毕了。
  下面让我们配置M1mac下开发Java的利器:Vscode,去官网下载即可:https:code。visualstudio。comDownload,但是需要注意的是,一定要选择arm64架构的版本:
  下载后,进行安装操作,安装完成后,我们需要装两个插件帮助我们运行Java项目。
  首先打开左侧应用商店菜单,搜索:JavaExtensionPack。进行安装,这是Java的扩展包,
  随后,搜索:SpringBootExtensionPack,进行安装,它是Springboot的扩展包。
  安装这俩个扩展包时,系统会陆续自动安装另外一些依赖包,耐心等待即可。
  安装成功后,重启vscode,随后打开上面菜单中的code首选项设置,搜索maven,然后点选在settings。json中编辑:
  在配置文件中,需要加入以下配置:java。home:LibraryJavaJavaVirtualMachineszulu11。jdkContentsHome,JAVAHOME指定maven的配置文件位置java。configuration。maven。userSettings:opthomebrewCellarmaven3。6。31libexecconfsettings。xml,maven环境变量,指定为mvnmaven。executable。path:mvn,自动更新影响的pommaven。pomfile。autoUpdateEffectivePOM:true,跳过测试,不需要跳过可删除maven。executable。options:DskipTests,当此值设为true时,且配置了java。home时,新建终端会自动添加环境JDK环境变量为java。home的值maven。terminal。useJavaHome:true,指定maven所用jdkmaven。terminal。customEnv:〔{environmentVariable:JAVAHOME,环境变量名value:LibraryJavaJavaVirtualMachineszulu11。jdkContentsHome,JDK安装路径}〕,在构建时,自动修改java项目的配置信息,classpath信息java。configuration。updateBuildConfiguration:automatic,
  这里主要的变量就是JDK的路径和Maven配置文件的路径,分别对应到刚刚安装好的两个路径,分别是:LibraryJavaJavaVirtualMachineszulu11。jdkContentsHome和opthomebrewCellarmaven3。6。31libexecconfsettings。xml
  做好配置后,安装好的扩展就可以用了,再次重启vscode。
  让我们来体验一下Springboot的魅力,输入快捷键:
  commandshiftp
  打开命令模式,键入:spring,选择创建Maven项目:
  选择Springboot版本:2。4。5;语言:JGroupId直接默认回车;项目名称:打包方式选择:JJDK版本:11;默认依赖:DevTools(代码修改热更新,无需重启)、Web(集成tomcat、SpringMVC)、Lombok(智能生成setter、getter、toString等接口,无需手动生成,代码更简介)、Thymeleaf(模板引擎)。
  选择好要引入的包后直接回车,在新弹出的窗口中选择项目路径,到此SpringBoot项目创建完成:
  随后将创建好的mydemo项目导入到vscode的工作空间:
  之后,点选左侧小虫子图标,为项目添加启动文件,选择Java:
  此时,需要等待一下,vscode会导入相关依赖。
  创建成功后,会发现项目的根目录新增了一个。vscode文件件里面有一个启动文件launch。json:{使用IntelliSense了解相关属性。悬停以查看现有属性的描述。欲了解更多信息,请访问:https:go。microsoft。comfwlink?linkid830387version:0。2。0,configurations:〔{type:java,name:LaunchCurrentFile,request:launch,mainClass:{file}},{type:java,name:LaunchMydemoApplication,request:launch,mainClass:com。example。mydemo。MydemoApplication,projectName:mydemo}〕}
  有了它,我们就可以用内置服务器启动项目了,现在打开项目文件夹中的入口文件mydemosrcmainjavacomexamplemydemoMydemoApplication。java,改成下面的样子:packagecom。example。importorg。springframework。boot。SpringAimportorg。springframework。boot。autoconfigure。SpringBootAimportorg。springframework。web。bind。annotation。RequestMimportorg。springframework。web。bind。annotation。RestCRestControllerSpringBootApplicationpublicclassMydemoApplication{publicstaticvoidmain(String〔〕args){SpringApplication。run(MydemoApplication。class,args);}RequestMapping()publicStringhome(){returnHey,欢迎来到M1mac的世界;}}
  这里我们用简单的路由映射到一个简单的视图,首页返回一串文字。
  接着打开小虫子图标,点开控制台,然后点击三角箭头启动项目:
  服务应声启动:(base)mydemogit:(master)usrbinenvLibraryInternetPlugInsJavaAppletPlugin。pluginContentsHomebinjavaagentlib:jdwptransportdtsocket,servern,suspendy,addresslocalhost:62011Dfile。encodingUTF8cpvarfolders5xgpftd0654bv7zvzyv39449rc0000gpTcpbp8k59s9mveb6o8xc0fjjde5w。jarcom。example。mydemo。MydemoApplication。()(()))())))。,::SpringBoot::(v2。3。10。RELEASE)2021052023:05:27。439INFO39304〔restartedMain〕com。example。mydemo。MydemoApplication:StartingMydemoApplicationonliuyuewithPID39304(UsersliuyuewodfanworkmydemobinmainstartedbyliuyueinUsersliuyuewodfanworkmydemo)2021052023:05:27。443INFO39304〔restartedMain〕com。example。mydemo。MydemoApplication:Noactiveprofileset,fallingbacktodefaultprofiles:default2021052023:05:27。675INFO39304〔restartedMain〕。e。DevToolsPropertyDefaultsPostProcessor:Devtoolspropertydefaultsactive!Setspring。devtools。addpropertiestofalsetodisable2021052023:05:27。676INFO39304〔restartedMain〕。e。DevToolsPropertyDefaultsPostProcessor:Foradditionalwebrelatedloggingconsidersettingthelogging。level。webpropertytoDEBUG2021052023:05:29。223INFO39304〔restartedMain〕o。s。b。w。embedded。tomcat。TomcatWebServer:Tomcatinitializedwithport(s):8080(http)2021052023:05:29。237INFO39304〔restartedMain〕o。apache。catalina。core。StandardService:Startingservice〔Tomcat〕2021052023:05:29。237INFO39304〔restartedMain〕org。apache。catalina。core。StandardEngine:StartingServletengine:〔ApacheTomcat9。0。45〕2021052023:05:29。301INFO39304〔restartedMain〕o。a。c。c。C。〔Tomcat〕。〔localhost〕。〔〕:InitializingSpringembeddedWebApplicationContext2021052023:05:29。301INFO39304〔restartedMain〕w。s。c。ServletWebServerApplicationContext:RootWebApplicationContext:initializationcompletedin1624ms2021052023:05:29。689INFO39304〔restartedMain〕o。s。s。concurrent。ThreadPoolTaskExecutor:InitializingExecutorServiceapplicationTaskExecutor2021052023:05:29。975WARN39304〔restartedMain〕o。s。b。d。a。OptionalLiveReloadServer:UnabletostartLiveReloadserver2021052023:05:30。036INFO39304〔restartedMain〕o。s。b。w。embedded。tomcat。TomcatWebServer:Tomcatstartedonport(s):8080(http)withcontextpath2021052023:05:30。063INFO39304〔restartedMain〕com。example。mydemo。MydemoApplication:StartedMydemoApplicationin3。13seconds(JVMrunningfor3。838)
  此时打开浏览器,访问:http:localhost:8080
  结语:在过往印象中,Java是一款严肃的语言,它古板、教条、一丝不苟,处处循规蹈矩,但其实,随着时代的发展,你会发现它其实是与时俱进的,在时代的浪潮中迸发出了Springboot这样习惯优于配置的框架,彻底颠覆了传统Java项目笨重、繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大的特点,并且在M1mac系统下,我们可以很轻松的用Vscode来写Java代码,就像写Python一样。最后,奉上项目代码与君共觞:https:gitee。comQiHanXiBeimydemo。git
投诉 评论 转载

2022最新电影7月24日上新预告高清资源灰影人TheGrayMan(2022)导演:安东尼罗素乔罗素主演:瑞恩高斯林克里斯埃文斯安娜德阿玛斯雷吉让佩吉比利鲍伯松顿杰西卡亨维克丹努什瓦格纳马拉阿尔法伍达德茱……23!女排夺冠热门吞下首败,世锦赛积分榜仅1队保持全胜北京时间2022年10月5日,女排世锦赛结束复赛首日争夺,夺冠热门意大利女排23不敌巴西女排,遭遇首败。这场比赛过后,E组所有球队都吃到了败仗,意大利、日本、巴西都拿到了5个胜……中国的14处世界自然遗产名录,人类宝藏旅行目的地,你去过几个《保护世界文化和自然遗产公约》公约规定自然遗产为:从审美和科学角度看,具有突出的普遍价值的由物质和生物结构或这类结构群组成的自然面貌从科学或保护角度看,具有突出的普……菊花的栽培技术要点1、菊花的繁殖。菊花的繁殖主要有3种方式:一是直插繁殖,将插穗直插于苗床进行繁殖;二是横插繁殖,将剪下的嫩枝平埋砂中,待节部生根发芽后,再进行第二次截节分栽繁殖;三是嫁接繁殖,……蜜意造句用蜜意造句大全一、太阳哥哥用蜜意的目光看这咱们。二、听着老师这亲切的话语,就像听了柔怀蜜意的歌唱,又像久旱的禾苗适了甘露,心里舒坦极了。三、他们俩早就爱上了,成天柔情蜜意的。……关于轭铁组件充磁工艺的形成【摘要】通过理论分析并大量试验,探寻加速度计轭铁组件最合适的充磁形式,摸索磁的稳定性措施,最后形成了一套完整的轭铁组件充磁工艺。【关键词】轭铁组件;充磁;测磁;磁性能;稳……白河县印象(2)山上的小城白河县位于汉江边,316国道旁。在安康旬阳著名的蜀河古镇,沿316国道一路向东,大约50多公里就到了白河县。白河县位于秦头楚尾,古称南走巫夔,北通商洛,东扼均房,关南险奥……深观察金融监督管理总局将带来什么备受关注的国务院机构改革方案终于揭开面纱。3月7日下午,十四届全国人大一次会议在人民大会堂举行第二次全体会议,国务委员兼国务院秘书长肖捷作关于国务院机构改革方案的说明。方案透露……为何说其实皇太极更爱大玉儿皇太极到底爱大玉儿还是最近很多人也都在说这个皇太极和大玉儿的事情,很多人也都说了,这个皇太极话说应该是更加喜欢这个大玉儿的,那么为什么会有这样的说法呢?这个皇太极到底是爱这个大玉儿呢?还是爱这个海兰……企业实行民主管理之我见摘要:加强企业民主管理是提高企业管理水平的重要一环。企业民主管理内容多,涉及面广。关键词:企业;民主;管理对企业实行民主管理,并不是一个单纯的经济问题和管理技术问题……M1Mac基于vscode搭建Java开发环境(集成web框也许有人从未听说过Python,但是不会有人没听说过Java,它作为一个拥有悠久历史的老牌编程语言,常年雄踞TIOBE编程语言榜首,其顶尖的霸主地位不可撼动,而M1mac业已发……巧手妈妈在这个世界,有一个人,她无私的陪伴你,却不要你的任何报答。她就是我们的妈妈。妈妈生了我,她用心无限的陪伴和关爱,才会有今天的我。妈妈无私的为我们兄妹付出了她的全部爱!……
阿姆斯特丹的今昔胃药您吃对了吗?药师告诉您正确的服药方法2022年月食罕见的血月将照亮爱尔兰的夜空程序员打螺丝?美团优选研发负责人黄波离职?刘强东天价律师团?颖宝的正能量瓜幼小衔接之拼音顺口溜春日限定赏花季到天鹿湖森林公园看禾雀花元阳梯田灌水!惊艳世人的绝美光影雷米特杯难觅踪迹,世界杯奖杯的前世今生我们的冬奥未播就让几代人期待,00后终于与长辈有话题了静生美好,淡生清欢有种基因叫赵丽颖的亲弟弟,出镜帅颜成焦点,比冯绍峰英俊多了
企业中“青蛙变王子”成功高管历程最美的春天作文人际交往中千万不要说的十个词卸妆洗面奶能卸妆吗女生国字脸适合什么发型修颜短发显瘦风格百变美翻天幼儿园的邀请函读书倡议书传小米洽购美图锤子手机蚕食细分市场可怜的小孩子们关于介绍美景作文500字左右语言简单编程之求解三角形的面积冼夫人是哪个朝代的人冼夫人对于海南的贡献

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州