这两天使用IDEA从零构建一个spring项目,之所以说从零,是因为,我这个小白呢,之前IDEA没有碰过,spring也只是知道个名字。

因为没有文档,遇到了好些坑,把这些记录一下吧。

  1. 构建的第一步,观察到了项目有个pom.xml,估计他是使用的maven进行构建的,然后,我就利用maven import了,这里注意的是:

    把maven的源修改一下,否则从中央库下载,速度慢到哭。
  2. 利用maven下载好大部分JAR包,但是仍然有一些没有下载,去maven repository去找也没有(说明是私有库被),然后我就问了一下后面的韶杰大神,他说,的确是私有库,

    然后让达晟把包给我,我以为直接引,用jar导入就行(又是坑。。),韶杰又提醒我,使用pom.xml导入私有库(去百度),然后导入成功了
  3. 接着就先弄tomcat开始跑被,我也不知道是不是坑,就下了个8,(尽管这个没遇到坑),跑出来,出现了一个卡一天的错误,

    那就是classChangeError:impl..什么,这个错误,经过百度,Google,我认定就是传递依赖,JAR包冲突的问题。

    然后我下了一个denpendency helper插件,一个一个排查(一开始有好多冲突哦),mvn dependency:tree > tree.txt 去查

    最后各个工具真的都没有报错了,但是仍然还是 classChangeError:impl..什么,我就又问了一下韶杰,韶杰大神说是一个quarz的包1.6版本不需要。

    我立刻把这个依赖,去除,然后就能跑了。 真是。。
  4. 项目跑起来了,就开始连数据库被,我一开始以为这得连远程库吧(其实我蒙蔽。。当时也没个思路),然后名扬告诉我在本地建个库,跑一下

    达晟给了我一堆数据。
  5. 然后,我就又开始无脑了,我下了个8.0的mysql(后来才知道,看到dao层用的是5.0的驱动。。),这就又是个坑被。。

    其实这个不应该是是坑的,如果一开始我就看一下pom.xml,就好了。
  6. 我也不想重新下,因为大家都知道,mysql不同版本下下来,在windows上会有各种各样奇葩问题,事实证明,我这个判断还是正确的。

    然后子平大神来了。(哈哈哈,他来了他来了),子平百度了一番,主要修改两个地方:
   一个是pom.xml中的jdbc的版本从5->8
      一个是dao层的这个 com.jdbc.driver->com.cj.jdbc.driver
这是第一遍修改。。没有成功。
然后,我们又修改 dao层的下面 com.jdbc.driver->com.cj.jdbc.driver 这句加上了 时区同步的语句(网上人说的)
又没成功。。后来又在 这句前加上了 jdbc。。成功。。我服。
还有就是全局寻找使用vs code是真的好用,vs code 界面也挺好的,真不错。(子平告诉于我)
这其中,还有一个地方到现在也没明白的就是,项目有两个,dpdb.properties还有一个是db什么properties,到底这个连的哪个啊。。(反正我是都设了一遍)
  1. 数据库连上了之后,IDEA后台就没有报错信息了, 但是index.html,一堆图片没有显示出来,

    看一下/image/是请求不到资源的。

    结合达晟之前告诉我修改的两个地方,

    把存在于本地计算机的实际路径映射到项目的虚拟路径上去。修改的地方,分别是:FILEPATHIMG(直接就是物理路径)

    还有
    就是 image/的maping,这里注意,需要file:///进行转义,这是子平大神操作的,要是我。。估计又是个卡人的坑。。。
  2. 把图片链接上后,看一下image/**,果然是能够访问到了,但是主页还是有404,

    是这个资源没有找到 /web/navigation/,然后我们用vs code全局搜了一下,发现这个@controller是有的,我当时就很疑惑了,这应该没问题啊。

    子平大神立刻断定 :

    出现这个问题的原因是: 我访问的路径是localhost:8080/项目名/,但是应该访问的路径名是localhost:8080/

    我当时还是有些许的不认同。。然而现实啪啪打脸.

    子平断定了问题后,修改tomcat中的deployment,将 /项目名 改为 / (这一步就是修改tomcat访问路径的)

    然后就能访问了。

至此

项目跑起来。。难死我这个小白了。

总结一下呢:

  1. 就是遇到问题,首先别慌,冷静的思考一下,不要着急动手,分析一下问题 ,不会的原理一定要去看一看在开始。这是最为重要的
  2. 不会就问。。(比如quarz这个坑)
  3. 应该根据项目下载对应版本

IDEA构建spring项目的更多相关文章

  1. 使用java配置来构建spring项目

    java配置是Spring4.x推荐的配置方式,可以完全代替xml配置,java配置是通过@Configuration和@Bean来实现的.@Configuration声明当前类是一个配置类,相当于S ...

  2. Maven的学习资料收集--(七) 构建Spring项目

    在这里,使用Maven构建一个Spring项目 构建单独项目的话,其实都差不多 1. 新建一个Web项目 参考之前的博客 2.修改 pom.xml,添加Spring依赖 <project xml ...

  3. maven学习4 使用Maven构建Spring项目

    1. 新建一个Web项目 参考之前的博客 2.修改 pom.xml,添加Spring依赖 <project xmlns="http://maven.apache.org/POM/4.0 ...

  4. JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)

    接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...

  5. springboot学习之构建简单项目搭建

    概述 相信对于Java开发者而言,spring和springMvc两个框架一定不陌生,这两个框架需要我们手动配置的地方非常多,各种的xml文件,properties文件,构建一个项目还是挺复杂的,在这 ...

  6. Maven学习- 使用Maven构建Web项目

    从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个Web项目,找到一篇文档,主要都是从这里学到的: 下载地址:使用Eclipse构建Maven的Web项目.docx 现自己在 ...

  7. Eclipse Maven构建Spring MVC项目

    工作中项目开发使用Maven管理项目的构建.打包.编译,框架採用的是Spring MVC框架,而且实现了多模块.多项目的管理.自己也简单的參与了架构的设计.对于刚開始学习的人来说,使用Maven构建项 ...

  8. 用Gradle构建Spring Boot项目

    相比起Maven的XML配置方式,Gradle提供了一套简明的DSL用于构建Java项目,使我们就像编写程序一样编写项目构建脚本.本文将从无到有创建一个用Gradle构建的Spring Boot项目, ...

  9. eclipse环境下基于已构建struts2项目整合spring+hibernate

    本文是基于已构建的struts2项目基础上整合 spring+hibernate,若读者还不熟悉struts2项目,请先阅读 eclipse环境下基于tomcat-7.0.82构建struts2项目 ...

随机推荐

  1. [Spring cloud 一步步实现广告系统] 3. 网关路由

    Zuul(Router and Filter) WIKI: 传送门 作用 认证,鉴权(Authentication/Security) 预判(Insights) 压力测试(Stress Testing ...

  2. windows 使用 curl 命令

    什么是curl命令? curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在windo ...

  3. 第一篇随笔:用VB.NET搞点简单事情(1)

    网络上能搜索到的爬虫文章大多是用python做的,也有少部分是C#做的(小声:所以用VB.NET也可以做爬虫.本文写的是第一步:获取网页) 使用代码前先imports以下内容 Imports Syst ...

  4. SSH框架之Hibernate第二篇

    1.1 持久化类的编写规则 1.1.1 什么是持久化类? 持久化类 : 与表建立了映射关系的实体类,就可以称之为持久化类. 持久化类 = Java类 + 映射文件. 1.1.2 持久化类的编写规则 ( ...

  5. ApiPost——国产postman,中文版,好用

    一款类似postman的接口测试平台,中文版,很好用 参考链接: https://www.cnblogs.com/phpwechat/p/10487077.html ApiPost下载地址: http ...

  6. Thymeleaf常用语法:数据迭代

    Thymeleaf数据迭代使用th:each属性,可以迭代数组.List.Set和Map等,数组.List.Set的迭代方法类似,迭代Map则会得到一个java.util.Map.Entry对象.在迭 ...

  7. 25个JavaScript数组方法代码示例

    摘要: 通过代码掌握数组方法. 原文:通过实现25个数组方法来理解及高效使用数组方法(长文,建议收藏) 译者:前端小智 Fundebug经授权转载,版权归原作者所有. 要在给定数组上使用方法,只需要通 ...

  8. EM13C添加agent记录两个报错

    错误一:ADF_FACES-60097:For more information, please see the server's error log for an entry beginning w ...

  9. Error 942 occured during Initialization of Bufq KUPC$S_1_20181023155636

      一台ORACLE实例(Oracle Database 10g Release 10.2.0.5.0)启动时,报"Error 942 occured during Initializati ...

  10. 移动网络游戏实现流程——并借此阐明pomelo在GitHub上各个项目间的关系

    <!DOCTYPE html> 摘要:本文通过一个简易流程图介绍如何基于Cocos2d-x引擎和pomelo服务器框架开发一个移动网络游戏.并借此阐明pomelo提供的各个项目间的关系. ...