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项目 ...
随机推荐
- ASP.NET MVC教程三:ASP.NET MVC部署方式
ASP.NET MVC编写的程序需要部署到IIS上面才能进行访问,部署方式分为两种. 一.直接用源代码部署 第一种方式可以直接使用源代码进行部署.部署步骤: 1.新建网站 在IIS里面选择网站,然后右 ...
- SSM整合2(springMVC+mybatis)
客户在浏览器端会提交一些参数到服务器端,比如用户的登录等,就会传username 和 password过来,springmvc则通过参数绑定组件将请求参数的内容进行数据转换,然后将转换后的值覆给con ...
- extjs 动态加载列表,优化思路
功能截图 之前做法,先查询每一行的前4个字段,然后动态拼接出其他的字段,效率极低,以下是优化后的代码,供参考,只提供一个优化思路,授人以鱼不如授人以渔 后台Sql语句优化(语法仅支持Oracle) S ...
- golang-方法和接口
1.方法 方法类似函数 ,多了一个接收者 ,接收者是指针指向结构体(也可以是值) ,方法与结构体绑定 (可以理解为模板定义方法) ,方法位于结构体内部 方法集可以理解就是多个方法 可以组合其他结构体方 ...
- JS基础语法---arguments对象伪数组
引入: //计算两个数字的和 function f1(x, y) { return x + y; } //计算三个数字的和 function f2(x, y, z) { return x + y + ...
- 【Gradle】自定义Android Gradle工程
自定义Android Gradle工程 defaultConfig默认配置 defaultConfig是Android对象中的一个配置项,负责定义所有的默认配置.一个基本的defaultConfig配 ...
- Spring Boot 2 单元测试
开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 IDEA新建一个Spring Boot项目后,pom.xml默认包含了Web应用和单元测试两个依赖包.如下 ...
- 中间人攻击,HTTPS也可以被碾压
摘要: 当年12306竟然要自己安装证书... 原文:知道所有道理,真的可以为所欲为 公众号:可乐 Fundebug经授权转载,版权归原作者所有. 一.什么是MITM 中间人攻击(man-in-the ...
- MyBatis之接口绑定方案及多参数传递
1.说明 所谓的MyBatis接口绑定,指的是实现创建一个接口后,把mapper.xml 由mybatis 生成接口的实现类,通过调用接口对象就可以获取mapper.xml 中编写的sql.在SS ...
- Html table 内容超出显示省略号
内容超出显示省略号: <html> <style> table { table-layout: fixed; width: 100%; } table, th, td { bo ...