1.程序包不存在
解决办法:
①查看maven的仓库配置对不对
②打开terminal终端输入命令 mvn idea:idea
2.
启动tomcat报:过滤器启动异常
严重: Exception starting filter encodingFilter
java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
解决办法:
①降低web.xml版本为3.0系列目前,tomcat8.5不支持4.0web.xml 。9.0tomcat容器支持4.0web.xml
②重新设置一下Artifacts,包导入lib文件夹(project structure->Artifacts->WEB-INF查看有没有lib文件夹,没有就新建,然后将JAR包都导入进lib)
③pom文件增加打包方式war
④也可能jar包冲突,把lib包重新导入就好了(在②做)
3.maven打包方式出错
pom文件增加
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<webXml>WebContent\WEB-INF\web.xml</webXml> (这个路径写你自己的)
</configuration>
</plugin>
</plugins>
</build>
4. Cause: java.lang.NoClassDefFoundError: org/apache/log4j/Priority
Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.logging.LogException: Error setting Log implementation. Cause: java.lang.NoClassDefFoundError: org/apache/log4j/Priority
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:121)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:98)
原因:java/main/目录下有xml文件,maven扫描不到
解决:在pom.xml文件中增加配置:
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
5.问题:bean不存在
1.查看bean注入是否成功
2.Junit测试,,看运行代码是否能查询出结果
eg:这是我的测试代码
public class Mytest {
@Test
public void test() {
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
BookService bookServiceImpl = context.getBean( BookServiceImpl.class);
for (Books books : bookServiceImpl.queryAllBook()){
System.out.println(books);
}
}
}
6.No bean named 'BookServiceImpl' available
加注解@Service
@Autowired
@Service("bookServiceImpl") public class BookServiceImpl implements BookService{ //service调用dao层,组合dao @Autowired private BookMapper bookMapper;
7.junit测试跑不通,报错找不到xxx.xml文件
ClassPathXmlApplicationContextcontext=new ClassPathXmlApplicationContext("classpath:/*.xml\"");
括号内修改路径,如果路径写对了,按“ctrl”键,鼠标会有高亮
8. java: Compilation failed: internal java compiler error
解决:
1、查看项目的 jdk(Ctrl+Alt+shift+S)
File ->Project Structure->Project Settings ->Project
2、查看工程的 jdk(Ctrl+Alt+shift+S)
File ->Project Structure->Project Settings -> Modules -> (需要修改的工程名称) -> Sources ->
3、查看 idea 中 Java 配置
File ->Setting ->Build,Execution,Deployment -> Compiler -> Java Compiler
上面三步做完还是失败的话
清除 IDEA 缓存 重启 IDEA
File->Invalidate Caches/Restart
4、还有一种情况是因项目过大,需要修改这个堆的大小
解决方法如下:
在 setting-->Build,Execution,Deployment-->Compiler 中找到 build process heap size(Mbytes):700 改为 1024(视情况而定)
9.重新生成iml文件
最下方terminal窗口敲命令: mvn idea:module
10. TTP状态 404 - 未找到 类型 状态报告 消息 文.件[/web/WEB-INF/jsp/allBook.jsp] 未找到
dea新建时不能直接选jsp文件类型来命名成allBook自动生成allBook.jsp,而是直接选file类型文件直接命名为allBook.jsp
11.
报错:
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
tomcat配置文件中的conf/catalina.properties文件中的
tomcat.util.scan.DefaultJarScanner.jarsToSkip=*.jar
将其改为
tomcat.util.scan.DefaultJarScanner.jarsToSkip=/
就可以正常使用了。
12. 访问WEB-INF下的jsp页面404
Web.xml中增加
<servlet>
<servlet-name>index</servlet-name>
<jsp-file>/WEB-INF/jsp/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>index</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
13.
Invalid bound statement (not found): com.kuang.dao.BookMapper.queryBookByID
这个情况我的是代码写错了导致映射不成功,比如说Mapper接口的方法名和Mapper.xml的id不一样等等
建议仔细检查代码