记录一下 用Maven搭建SpringMVC MyBaits中遇到的问题。

一、搭建环境:

jdk版本:1.8

tomcat版本:apache-tomcat-7.0.42

maven版本:apache-maven-3.5.3

开发工具:Eclipse IDE for Enterprise Java Developers. Version: 2018-12 (4.10.0)

开发操作系统:windows 7 64位

线上服务器:centos 7

 

二、问题记录

1.创建完成后,项目上出现了红叉,出现如下错误:

记录一下 用Maven搭建SpringMVC MyBaits中遇到的问题。

  • The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

问题原因及解决办法:

  • 记录一下 用Maven搭建SpringMVC MyBaits中遇到的问题。
  • 记录一下 用Maven搭建SpringMVC MyBaits中遇到的问题。
  • 因为没有配置项目运行环境也就是tomcat,配置项目运行的tomcat与jdk即可。

 

2.配置完pom.xml后报错:

Project configuration is not up-to-date with pom.xml. Select: Maven->Update Project... from the project context menu or use Quick Fix.

  • 问题原因及解决办法:因pom.xml文件修改,项目还没有同步过来,右键点击项目-》Maven-》Update Project即可.

3.项目打war包扔到服务器上,会出现各种问题,其一,tomcat跑到一半不跑了,卡在哪里一动不动:

记录一下 用Maven搭建SpringMVC MyBaits中遇到的问题。

tomcat卡在:INFO: Starting Servlet Engine: Apache Tomcat/7.0.82这行不进行下去了。

  • 分析原因及解决办法:上网查说可能是之前启动次数太多,正在创建Servlet的线程没有被释放,Java分配的空间满了,后面都在排队所以一直卡在这里,突然想到tomcat jvm内存设置 具体归类于哪类还没有研究,修改TOMCAT_HOME/bin/catalina.sh ,代码如下:
  • 在位置cygwin=false前加入。JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m" 

4.服务器启动tomcat时,运行一半不继续进行了,卡在这一行:

At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

  • 分析原因及解决办法:tomcat每次启动中会大量的扫描jar包,并进行tlds规范校验(这个好像是jstl,具体我也不是很清楚),因为这个项目用到的是maven,
  • 在我本地pom.xml中为:

    <dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
    </dependency>

    现在修改pom.xml中:

    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
    </dependency>

    因此,一直报错。

5.使用maven发布项目时,控制台报出错误:

  •  No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?等。。。
  • 问题及解决办法:因为Eclipse-->Window-->preferences-->Java-->Installed JREs里面配置的jre,现更换成jdk配置路径问题解决。

6.配置后了db.properties文件后启动项目报错。

  • Cannot load JDBC driver class '${driver}'
  • 问题及解决办法:大概意思就是找不到这个属性,也就是说没有加载属性文件中的值。
  • 首先要检查3点:

(1)属性文件中每行结束不要有空格

(2)applicationContext.xml中配置这句话,用来加载属性文件。

<!-- 加载属性文件 -->
             <context:property-placeholder location="classpath:db.properties"/>

(3)applicationContext-mybatis.xml中的配置

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
             <!-- <property name="sqlSessionFactory" ref="sqlSessionFactory"/>  这个是我之前的-->
                   <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />//这个是我修改之后的

                   <property name="basePackage" value="com.zsscyjsyjy.dao"/>
            </bean>