Myeclipse转IDEA所遇到的坑
如题,记录,以防止以后遇到再次遇到。
Myeclipse
- Mysql8.0+、mysql-connector-java-5.1.7-bin.jar(oracle11g、ojdbc6.jar,这次用的是MySQL)
- Myeclipse10
- ssm
IDEA
- Mysql8.0+、mysql-connector-java-8.0.17.jar
- IDEA2019.3.3
- ssm+maven3.6.3
时区
首先是时区的问题,MySQL8.0和同样版本的驱动才会遇到的问题,在myeclise时用的5.17驱动没有遇到这个情况
我应该是在数据库操作过时区的,但DB.properties所配置的url仍要加时区
#因为数据库和驱动都是8.0+,所以url需要带上时区(数据库内我好像改过时区),原时区于北京时间相差8小时左右
jdbc.url=jdbc:mysql://localhost:3306/answer?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
Error
Error configuring application listener of class org.springframework.web.context.
是jar包找不到的问题,通过maven加载的jar包。
原因:Artifacts没有正确配置。
打开你的Project Structure,看看你项目的WEB-INF下面有没有lib,一般你报这个错,是没有lib的
解决办法:方法1,
右键点击最右边的Gogo,选择put into OutPut Root,这样它就会自动在左边的<Output root>下的WEB-INF目录下自动创建一个lib,并把jar包放进去,这样,重启一下tomcat,就发现target里边有lib啦!我的web.xml中的类找不到的问题也解决了。
是在这个帖子方法一找到的答案
当时我是先在/WEB-INF/下建的lib,以前好像有看到过把自己建的定义为可以存放jar的,但是没找到教程了。
通过上述方法1,在project srtucture--》project setting--》Artifacts里确实找到了lib,也把jar放进去了,但是WEB-INF下的还是没有找打,不过也还是可以正常使用了。
Invalid bound statement (not found)
无效的绑定语句(未找到)
排查mapper接口和mapper.xml文件有没有错
还有就是idea和myeclipse不一样,main/java/**/下的mapper.xml文件是不加载的,而我按照习惯放在了和mapper接口同一目录下,就会出现找不到。
需要在maven配置文件下的pom.xml里配置
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
具体不使用maven怎么配置等下次遇到再添加进来。
在maven里新添加的jar找不到
原先找的ssm整合jar不是我的,我只有jar也不太方便一个个弄成maven依赖那样的,拷贝的网上的
我在织入事务的时候发现缺少jar,就又去网上复制了一份依赖,奈何tomcat编译后还是缺少。
解决:找到Project Structure--》Artifacts,把最右边未导入的jar,右键导入到自己的lib目录下即可。
部分静态资源找不到
我当然配置了静态资源过滤
<mvc:resources location="/static/" mapping="/static/**"/>
我的目录是这样子的
static
css
images
js
就TM很离谱只有css可以使用,js、images都不可以。
我甚至试了四种静态资源过滤的方法,无果。
当我去查看编译后的文件时,用的idea是在out目录下(天晓得maven的Target目录下为什么没有编译web文件)
发现out文件下的.../static下竟然之后css??? 这是tm个什么情况??idea真的教做人啊!!!
发现问题就去解决问题,然后搜索到了如下内容
具体修改如下;
找到Project Structure--》Artifacts,
然后选择放静态资源的static目录,重新部署tomcat即可。
ps:其实从前几次记录来看我就是不想放图片的,可这次实在是怕找不到操作步骤,难搞哦!!!