本人做过一年的MATLAB编程和简单维护过VB和C++的项目。是跟着网上获得的IT培训机构的Java视频课来自学入门Java知识和常用框架的使用。
淘淘商城(SpringMvc+Spring+Mybatis) 是传智播客在2015年9月份录制的,几年过去了。有些软件最新版本的使用 和.jar包配置信息,只有根据日志报错信息作出适当的调整变更才能跑通项目。为了方便广大自学Java同仁的共同进步,我将持续更新这个网络实战项目练习的内容,着重指出符合当下开发环境下的内容勘误修订。
02.第二天(框架整合,后台系统搭建)
一、Eclipse中运行提示报错:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
09.整合测试-ok.avi
在按照视频中老师的讲解按部就班的操作下,Eclipse中运行提示报错:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
这是eclipse&maven和我安装的jdk版本配置有未设置的操作工序导致。修正方法在我的CSDN博客 https://blog.csdn.net/qq_40993412/article/details/99322387
或者参阅https://www.jianshu.com/p/1ed0ec397575
二、maven 编译出错 Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean
eclipse在使用maven的tomcat控件编译java程序时,报错 Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project **-web: Failed to clean project: Failed to delete X:\**\target\tomcat\logs\access_log
这类错误
出现这种错误,通常是由于您已启动了另一个tomcat 进程或者运行的javaw.exe进程。
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'itemController': Could not autowire field: private com.taotao.service.ItemService com.taotao.controller.ItemController.itemService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.taotao.service.ItemService] found for dependency:说明原理的一个技术博客链接 https://blog.csdn.net/s740556472/article/details/54974074
四、log4j日志输出配置文件未设置导致的报错解决
在视频中,老师一直没提log4j的配置文件log4j.properties的设定,导致后面完全按照演示操作也会出现Eclipse报错信息:
log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly在01.参考资料文件夹里面有log4j.properties文件,我们需要把它复制到项目src文件夹或将log4j.properties放到 \WEB-INF\classes文件夹中即可。
参考的技术博客: 关于控制台输出 警告 log4j:WARN No appenders could be found for logger
五、由于配置db.properties路径错误导致的cannot be resolved to URL because it does not exist异常处理
参考的技术博客 https://blog.csdn.net/qinkang1993/article/details/57626434/
淘淘商城项目照着视频做出现这个报错,原因是老师提供的教案配置信息和视频演示有些小出入,需要我们自行修改.xml配置文件。把下图中高亮的首个properties改成实际路径的resource即可。
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/taotao?characterEncoding=UTF-8&serverTimezone=GMT%2B8 jdbc.username=root jdbc.password=root
六、阿里巴巴的druid数据库连接池配置文件 db.properties 要注意格式上不识别【&serverTimezone=Asia/Shanghai】
2019年我们在复盘这个taotao商城项目的时候,可以通过taotao-parent定义依赖的版本更新到
<druid.version>1.1.9</druid.version>
//北京时间东八区 serverTimezone=GMT%2B8 //或者使用上海时间 serverTimezone=Asia/Shanghai
在taotao-manager-web项目下的 src/main/resources 有spring文件夹,里面的applicationContext-dao.xml 定义了druid数据库连接池的配置信息。
1 <!-- 数据库连接池 --> 2 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" 3 destroy-method="close"> 4 <property name="url" value="${jdbc.url}" /> 5 <property name="username" value="${jdbc.username}" /> 6 <property name="password" value="${jdbc.password}" /> 7 <property name="driverClassName" value="${jdbc.driver}" /> 8 <property name="maxActive" value="20" /> 9 <property name="initialSize" value="1" /> 10 <property name="maxWait" value="60000" /> 11 <property name="minIdle" value="5" /> 12 </bean>
七、在taotao-manager-web项目下的pom.xml里 ,配置tomcat插件的warSourceDirectory标签值。
<build>
<plugins>
<!-- 配置Tomcat插件的warSourceDirectory -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<warSourceDirectory>webapp</warSourceDirectory>
<port>8080</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
八、mybatis 整合spring之mapperLocations配置的问题
结论是:如果Mapper.xml与Mapper.class在同一个包下且同名,spring扫描Mapper.class的同时会自动扫描同名的Mapper.xml并装配到Mapper.class。
如果Mapper.xml与Mapper.class不在同一个包下或者不同名,就必须使用配置mapperLocations指定mapper.xml的位置。
九、分页测试给web项目pom.xml导入分页插件的依赖坐标不能用最新版而要用附件中老师修改过的特别版本3.4.2-fix
// taotao-parent中定义的版本不能用5.0.3因为会抛出异常
<pagehelper.version>3.4.2-fix</pagehelper.version>
okey