IDEA构建spring项目
这两天使用IDEA从零构建一个spring项目,之所以说从零,是因为,我这个小白呢,之前IDEA没有碰过,spring也只是知道个名字。
因为没有文档,遇到了好些坑,把这些记录一下吧。
- 构建的第一步,观察到了项目有个pom.xml,估计他是使用的maven进行构建的,然后,我就利用maven import了,这里注意的是:
把maven的源修改一下,否则从中央库下载,速度慢到哭。 - 利用maven下载好大部分JAR包,但是仍然有一些没有下载,去maven repository去找也没有(说明是私有库被),然后我就问了一下后面的韶杰大神,他说,的确是私有库,
然后让达晟把包给我,我以为直接引,用jar导入就行(又是坑。。),韶杰又提醒我,使用pom.xml导入私有库(去百度),然后导入成功了 - 接着就先弄tomcat开始跑被,我也不知道是不是坑,就下了个8,(尽管这个没遇到坑),跑出来,出现了一个卡一天的错误,
那就是classChangeError:impl..什么,这个错误,经过百度,Google,我认定就是传递依赖,JAR包冲突的问题。
然后我下了一个denpendency helper插件,一个一个排查(一开始有好多冲突哦),mvn dependency:tree > tree.txt 去查
最后各个工具真的都没有报错了,但是仍然还是 classChangeError:impl..什么,我就又问了一下韶杰,韶杰大神说是一个quarz的包1.6版本不需要。
我立刻把这个依赖,去除,然后就能跑了。 真是。。 - 项目跑起来了,就开始连数据库被,我一开始以为这得连远程库吧(其实我蒙蔽。。当时也没个思路),然后名扬告诉我在本地建个库,跑一下
达晟给了我一堆数据。 - 然后,我就又开始无脑了,我下了个8.0的mysql(后来才知道,看到dao层用的是5.0的驱动。。),这就又是个坑被。。
其实这个不应该是是坑的,如果一开始我就看一下pom.xml,就好了。 - 我也不想重新下,因为大家都知道,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,到底这个连的哪个啊。。(反正我是都设了一遍)
- 数据库连上了之后,IDEA后台就没有报错信息了, 但是index.html,一堆图片没有显示出来,
看一下/image/是请求不到资源的。
结合达晟之前告诉我修改的两个地方,
把存在于本地计算机的实际路径映射到项目的虚拟路径上去。修改的地方,分别是:FILEPATHIMG(直接就是物理路径)
还有就是 image/的maping,这里注意,需要file:///进行转义,这是子平大神操作的,要是我。。估计又是个卡人的坑。。。 - 把图片链接上后,看一下image/**,果然是能够访问到了,但是主页还是有404,
是这个资源没有找到 /web/navigation/,然后我们用vs code全局搜了一下,发现这个@controller是有的,我当时就很疑惑了,这应该没问题啊。
子平大神立刻断定 :
出现这个问题的原因是: 我访问的路径是localhost:8080/项目名/,但是应该访问的路径名是localhost:8080/
我当时还是有些许的不认同。。然而现实啪啪打脸.
子平断定了问题后,修改tomcat中的deployment,将 /项目名 改为 / (这一步就是修改tomcat访问路径的)
然后就能访问了。
至此
项目跑起来。。难死我这个小白了。
总结一下呢:
- 就是遇到问题,首先别慌,冷静的思考一下,不要着急动手,分析一下问题 ,不会的原理一定要去看一看在开始。这是最为重要的
- 不会就问。。(比如quarz这个坑)
- 应该根据项目下载对应版本
IDEA构建spring项目的更多相关文章
- 使用java配置来构建spring项目
java配置是Spring4.x推荐的配置方式,可以完全代替xml配置,java配置是通过@Configuration和@Bean来实现的.@Configuration声明当前类是一个配置类,相当于S ...
- Maven的学习资料收集--(七) 构建Spring项目
在这里,使用Maven构建一个Spring项目 构建单独项目的话,其实都差不多 1. 新建一个Web项目 参考之前的博客 2.修改 pom.xml,添加Spring依赖 <project xml ...
- maven学习4 使用Maven构建Spring项目
1. 新建一个Web项目 参考之前的博客 2.修改 pom.xml,添加Spring依赖 <project xmlns="http://maven.apache.org/POM/4.0 ...
- JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)
接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...
- springboot学习之构建简单项目搭建
概述 相信对于Java开发者而言,spring和springMvc两个框架一定不陌生,这两个框架需要我们手动配置的地方非常多,各种的xml文件,properties文件,构建一个项目还是挺复杂的,在这 ...
- Maven学习- 使用Maven构建Web项目
从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个Web项目,找到一篇文档,主要都是从这里学到的: 下载地址:使用Eclipse构建Maven的Web项目.docx 现自己在 ...
- Eclipse Maven构建Spring MVC项目
工作中项目开发使用Maven管理项目的构建.打包.编译,框架採用的是Spring MVC框架,而且实现了多模块.多项目的管理.自己也简单的參与了架构的设计.对于刚開始学习的人来说,使用Maven构建项 ...
- 用Gradle构建Spring Boot项目
相比起Maven的XML配置方式,Gradle提供了一套简明的DSL用于构建Java项目,使我们就像编写程序一样编写项目构建脚本.本文将从无到有创建一个用Gradle构建的Spring Boot项目, ...
- eclipse环境下基于已构建struts2项目整合spring+hibernate
本文是基于已构建的struts2项目基础上整合 spring+hibernate,若读者还不熟悉struts2项目,请先阅读 eclipse环境下基于tomcat-7.0.82构建struts2项目 ...
随机推荐
- Spring Boot 2 + jpa + mysql例子
Spring Data框架为数据访问提供了一个通用的模型,无论访问哪种数据库,都可以使用同样的方式,主要有以下几个功能:(1)提供数据与对象映射的抽象层,同一个对象,可以被映射为不同数据库的数据:(2 ...
- IT开发、PM、UI/UE学习路线图(非原创-参考传智播客网站介绍)
文章大纲 一.Go语言+区块链学习路线图二.PHP学习路线图三.Python学习路线图四.C/C++学习路线图五.大数据学习路线图六.经理学习路线图七.UI/UE路线图八.参考文章 一.Go语言+区块 ...
- Android项目模块化/组件化开发(非原创)
文章大纲 一.项目模块化初步介绍二.项目模块化的两种模式与比较三.大型项目模块化的演进四.项目模块化总结五.参考文章 一.项目模块化初步介绍 1. 前言 在Android开发中,随着项目的不断扩展 ...
- CPU相关概念
整部主机的重点在于中央处理器 (Central Processing Unit, CPU),CPU 为一个具有特定功 能的芯片, 里头含有微指令集,如果你想要让主机进行什么特异的功能,就得要参考这颗 ...
- [数组] Leetcode 189.旋转数组
- HTTPS配置,SSL证书配置
阿里云SSL证书配置: Appache服务器:https://help.aliyun.com/knowledge_detail/95493.html Tomcat服务器:https://help.al ...
- [Linux]终端设备关系
1.概述 tty中基本上可以划分为console(/dev/console).虚拟终端(/dev/tty0~n)和伪终端(/dev/pts/0~n). 它们之间存在一定的关系. 为了说明这段关系,先要 ...
- SpringCloud学习笔记(二、SpringCloud Config)
目录: 配置中心简介 SpringCloud Config服务端 SpringCloud Config客户端 动态配置属性bean 一些补充(源码分析):Spring事件监听.健康检查health() ...
- 题解:SPOJ1026 Favorite Dice
原题链接 题目大意 给你一个n个面的骰子,每个面朝上的几率相等,问每个面都被甩到的期望次数 题解 典型的赠券收集问题. 我们考虑当你手上已有\(i\)种不同的数,从集合中任选一个数得到新数的概率,为\ ...
- Java 的synchronized关键字使用
synchronized 关键字是实现锁的一种方式,是在jvm层面实现的非公平锁,以下是使用synchronized的四种方式 synchronized 特性: 1.非公平锁 2.可重入性 1.作用在 ...