目录

前言

前期准备

创建项目

1.“小”插曲

1.巨大巨大超级超级低级的犯错

2.一波三折

3.正视自己

2.正式开工

3.与报错的决战

总结


前言

最近开始系统学习maven了,所以想把之前在服务器上运行的vaadin项目导入本地运行。服务器上用的是idea,环境都是大佬配置好的直接run就可,但本地嘛,除了vscode只配置好了java外一无所有。。。

前期准备

首先郑重声明,本人只是小白,这篇帖子也就权当记录进步,有错请大佬指正,有想跟着尝试的欢迎讨论。

因为是maven项目,所以需要maven。最好!不要用!最新版!(这点在maven没体现出来)

安装好后,配置环境变量。我把它和java放一起了,好找~

path方面,图省事放顶层就好。

顺便提一句,jdk最多最多17不得了了。因为新版jdk它maven不咋支持,而且vscode也没idea系统,就莫名其妙会一堆报错。

本地仓库我还是放c盘,下载找的阿里云镜像,在maven/conf/settings.xml里设置。

这两个设置起来比较简单,xml里跟着相应注释放进去就好。注意<mirror>标签内容放<mirrors>标签里头。


<localRepository>C:\Users\${user_name}\.m2</localRepository>
<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

然后在vscode里把settings.xml路径配置下,这里不想放图了。。。

创建项目

1.“小”插曲

1.巨大巨大超级超级低级的犯错

一开始我创建的是Spring Boot项目,再往里头加vaadin依赖。。。属于是忘记主次了。直到发现添加vaadin依赖比我想象的复杂得多才停手。(又是dependencyManagement又是plugin,我只学了dependency啊啊啊)

又往里添加了spring web的依赖,这个导致大方向错了耽搁好久。

2.一波三折

创建好vaadin项目后,添加作业里的java代码。依赖的话直接把旧项目的spring web全扒过来,属实是高看自己了。但真的运行起来了!不过打开http://localhost:8080,是空白标签,写了WhiteLabel什么什么,反正是404。(图是网上的,因为旧项目现在会报错生成不出这个页面了。真实时间是刺客伍六七第四季开播那天)调了一个小时后放弃了。期间尝试了下载server扩展,mvn install安装,把运行程序放到java目录底下等,作用不太大。

3.正视自己

问了学长,他说可能是依赖的问题。我就把作业里的依赖注入这个项目,一个个写入,看着大佬的架构与选择,相同依赖微小的参数区别,的过程令我大受震撼。其中一个依赖连阿里云镜像,甚至maven官网都没有,佩服!

<dependency><groupId>org.vaadin.artur</groupId><artifactId>a-vaadin-helper</artifactId><version>1.7.1</version>
</dependency>

可都做到了这一步,花了那么长时间,这点小挫折能难倒我吗!?搜依赖名发现在git上开源了,下载后用vscode打开,mvn install安装成jar。极不情愿地使用了SNAPSHOT版本(就是懒得找了),有条件的话一定要用稳定版!

结果又报错了。原因是这位大佬在这个项目里使用了自己的另一个项目。那个项目呢,巧了,在maven官网也没有。

<dependency><groupId>org.vaadin.artur</groupId><artifactId>spring-data-provider</artifactId><version>2.1.0</version>
</dependency>

再搜他的项目库,都找到了。好在没再出问题,顺利安装!

关于mvn install啊,不仅能安装到项目根目录的target文件夹里,还会自动复制到本地仓库。贴心的同时让我眉头一皱:我之前把自己项目装着玩,结果仓库里用了一百多兆。。原来它还会把该项目所需的所有依赖一并压缩进jar里。过程大致是这样的:查找本地是否有该依赖,没有的话下载,再压缩进jar。

不过吧,可能是由于之前用spring web运行增加了许多无用文件,依赖重新配置好后一直报异常。对小白来说,一个项目如果更换许多依赖,就像抽去原本的血再注入不同血型的血,基本上是废了。

2.正式开工

无奈之下打开原本的作业项目,由于依赖下载齐全,不出意外地正常运行了(其实非常激动)。看着命令台和服务器端运行时一模一样的命令,看到

“--------------------Starting Frontend compilation.--------------------------”

应该是开启前端编译,生成node_modules文件夹,甚至打开8080端口都在显示前端代码正在编译,感觉成功有望。

不过很快迎来了报错。网页写着:500 Internal Server Error,查找后确定原因:缺少一个module:@apideck/better-ajv-errors。来源于npm,可以直接下载。

虽然不是maven项目不能install,但文件格式和node_modules文件夹里的文件很像就直接移进去用了。重新运行发现,程序把这个better-ajv-errors文件夹删掉了!!然后继续报错。。。

3.与报错的决战

咱程序员啊,有时候的灵光乍现真是妙不可言。我下意识将npm看成与maven相似的项目,一个主打前端,一个主打后端。想着是不是缺少npm相关的配置?于是从官网下载了《最新版》。一定!一定!千万!千万!下载稳定版!

安装后自动配置环境变量,我手动切换仓库和缓存路径、国内镜像。

npm config set registry https://registry.npm.taobao.org  //切换淘宝镜像
npm config set prefix "C:\Users\${user_name}\.npm"       //更改本地仓库路径
npm config set cache "C:\Users\${user_name}\.npm-cache"  //更改缓存路径//相应的查看方法们
npm config get registry
npm config get prefix
npm config get cache

再运行,果不其然又报错啦:

node:internal/crypto/hash:71 this[kHandle] = new _Hash(algorithm, xofLen);

一查才知道,得降版本,最好降到17以下:https://nodejs.org/download/release/v16.19.0/

下载这个,保证能用!

最终,虽然前端编译后仍然没有@apideck/better-ajv-errors,但依旧能够运行。程序员艰难的战胜了报错,鏖战九个半小时后迎来胜利的曙光!

看见“----------------- Frontend compiled successfully. -----------------”激动不已。

作业是一个登录模拟,甚至会串号。是去年暑假做的,不过实现了本地保存用户信息,比课程要求高一点点啦,但还是较简单的项目。

总结

这个文件我还是用网盘分享吧:https://pan.baidu.com/s/1gObQ6HrC6bPfuJhqHapehg 8xrw

作业刚完成那会,在本地配置maven环境变量也不会,运行个mvn compile也报一堆错。现在啊,能配置好环境变量,能注入各种大佬的依赖完善代码,能真正意义上实现本地开发maven项目,我想也是个阶段性的进步吧。

注:配置环境变量后,最好运行-v或者-version之类的cmd代码确保安装成功

VSCODE:从零点五开始运行一个小型vaadin项目相关推荐

  1. 一个小型 BI 项目的总结

    最近在做一个小型 BI 项目,项目的工期很紧,现在项目一期已经接近尾声,趁这个机会做个项目总结. 项目背景: 该项目的需求方是一家大型的跨国销售类企业, 在世界各地都有销售网点, 每个销售网点会将当日 ...

  2. 记录一次历时五个月的小型外包项目

    记录一次历时五个月的小型外包项目 这一次的经历和之前一次的项目经历有些类似,所有就打算记录下来,首先是引发一下自己的思考,二来是作为交流之用. 记录背景 坐标齐齐哈尔市的一家大学生创业公司,这次的客户 ...

  3. vue怎么运行html,怎样运行一个vue.js项目

    怎样运行一个vue.js项目? 下载并安装node,安装过程很简单,一路"下一步"就可以了,安装完成之后,打开命令行工具,输入 node -v,如下图,如果出现相应的版本号,则说明 ...

  4. 创建并运行一个 Spring Boot 项目

    创建并运行一个 Spring Boot 项目 引言 第一个 Spring Boot 项目 1. 创建一个 spring boot 项目 第一步 第二步 第三步 第四步 2. 验证 第一步 第二步 3. ...

  5. 使用idea运行一个桌宠项目

    文章目录 1 在github上下载项目文件 1.1 安装git并使用git命令下载 1.1.1 下载git 1.1.2 安装git 1.1.3 使用git命令 1.2 直接下载压缩包后解压 1.3 如 ...

  6. 如何用Eclipse运行一个Java web项目

    1.导入项目 选择右上方的File->import,然后选择General下的Existing Projects into Workspace 点击Next 选择路径然后Finish即可. 2. ...

  7. 如何运行一个uve.js项目

    目录 第一步首先安装node.js 第二步安装vue-cli脚手架构建工具 第三步运行项目 第一步首先安装node.js 在官网下载node.js(.msi)安装包版本 安装的时候可一路next即可完 ...

  8. 【小型JavaFx项目】英汉词典

    英汉词典 简介 知识点简介 效果图 源代码 Word.java DictionaryFunction.java DictionaryFrame.java 简介 花了1个多小时帮数媒的同学用以前的项目改 ...

  9. 微信小程序开发一个小型商城(五、商品详情)

    上一篇文章:微信小程序开发一个小型商城(四.商品列表) 在从上一个界面跳转过来,会看到商品详情这个界面goods_detail :如下图所示: 页面分析:从上到下:一个轮播图+一个view标签存储商品 ...

最新文章

  1. Java IO 4 : RandomAccessFile
  2. html阅读开放试用阶段,泰克为不同行业提供100种应用功能免费试用
  3. 【CentOS 7】关于php留言本网站的搭建
  4. Gradle Goodness: Set Java Compiler Encoding--转载
  5. 一个实用的显示Visual Studio Code文件绝对路径的扩展应用
  6. 每日一题:leetcode456.132模式
  7. yiilite.php,缓存 - yii在哪些情况下可以加载yiilite.php?
  8. SWF反编神器Action Script Viewer终身免费升级!
  9. discuz设置用户每天回帖数_如何用Redis统计独立用户访问量,除了Hash跟Bitset,还有这个...
  10. java8彩蛋_随笔,JDK8的新时间工具类
  11. php读取excel公式取值,通用PHPExcel导出函数代码
  12. 用友U8 ERP系统材料出库单打印格式设置-表格格式调整
  13. python程序设计基础期末考试题,python程序设计基础答案章节期末答案
  14. [数据结构 算法] 2015年蓝桥杯A组C/C++第三题奇妙的数字
  15. fiddler模拟弱网测试
  16. 一个月可以学会单片机嘛?单片机编程学多久?
  17. 电机与拖动基础--第一章
  18. 小程序毕业设计 基于java后台微信在线考试小程序毕业设计参考
  19. android cts测试超时设置,Android的CTS测试
  20. 小米蓝牙温度计2接入home assistant

热门文章

  1. 中小学教师资格考试报名照片尺寸要求及审核失败原因详解
  2. windows计算器_如何使用Windows 10计算器
  3. 国内中文Android开发者社区和论坛
  4. sandisk TF卡 can not format issue 解决方法
  5. 中小学信息学相关编程比赛清单及报名网站汇总(C++类)
  6. siRNA-S-S-PEG-LMWP|M-MSN-siRNA介孔二氧化硅修饰RNA(齐岳RNA功能化修饰)
  7. (转)基于H.264的远程视频监控
  8. OpenCV学习——实现滑动条式调色板
  9. windows系统下设置mtu值的方法
  10. 入侵检测——nbtscan(扫描篇)