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年9月1日,中超联赛补赛12轮,浙江队3比0送郑智当主教练的广州队两连败,赛后技术总监傅博出席了发布会。郑智代替了刘智宇当上了广州队的主教练,广东球迷和自媒体又开……
一份特殊的礼物今天是六一儿童节,早在昨天我就已经收到了妈妈、同学给的礼物了,唯独没有收到爸爸的礼物。我想:爸爸今天还送不送我礼物呢?早上,我做了数学卷子,爸爸一直坐在我身边,每当我驼背……
胡博士治疗肾结石草药医话系列之八醋香附气病之总司,女科之总帅,说的就是香附,它是一味生长在田间地头,常被误以为杂草的中药材,更是一味行气止痛的良药。见过它的人肯定不陌生,在不同的地区,还有诸如三棱草根、雀头香……
可以给我买兰蔻吗的图片近期,抖音视频里又有一个梗火了起来,那就是可以给我买兰蔻196吗的图片,变相秀恩爱的方式,当你和男朋友说你可以把你喝奶茶的钱省下来,给我买兰蔻196吗?对方是怎么操作的吗?先保……
个开车解困方法最有效的还是最后三种这两个礼拜,春节的返乡大军中肯定少不了自驾的车主们本来都是兴冲冲地准备自驾回家可耐不住路途遥远再加上这里堵堵堵、那里堵堵堵的这车开着开着可能就成无……
物业管理智慧社区的发展方向根据目前国内外物业管理在智慧社区的发展情况,社区智能化产品由点及面的试点和推广,逐渐加强信息基础设施建设,注重知识技术培训,提高社区居民的社区意识。智慧社区普遍关注的重点从以信……
素白造句用素白造句大全31)赤橙黄绿靛蓝紫,还有素白色的,似乎生怕迟了些迎接雨露便会逊色于人家般,一朵朵油纸伞花儿争妍斗艳地于岸边开放。32)银色的头发,姣好的脸庞,着简素白裙的身影,宛若天上……
植物化妆品原料天麻植物化妆品原料天麻一、简述天麻(Gastrodiaelata)为兰科天麻属多年生草本植物,主要分布于我国黑龙江、贵州、广西、吉林、湖北等省。化妆品采用天麻干燥根茎的……
Aveda上海前滩太古里店获得LEED铂金级绿色建筑认证上海(2022年12月27日)以始于美丽,行于价值为宗旨,雅诗兰黛集团在全球范围践行可持续发展理念,引领美妆行业可持续发展的潮流。2022年11月,雅诗兰黛集团旗下高端护发品牌……
二胎妈妈都会有的困惑生了老二之后,为什么越来越讨厌老大了?文全文共2093字,阅读时间约3分钟和同学优优一起带着孩子们吃饭,吃饭期间,优优要要照顾二宝,还要谨防大宝一不小心伤到二宝。结果越防备,大宝越想乘机动二宝。优优见状非常严……