关于 idea 部署运行异常,但是访问页面404的 坑爹bug
环境:win10 、IntelliJ IDEA 2016.2.4 、 jdk1.8 、 tomcat8 框架 spring+mybatis+maven
在练习中,搭了一个项目。因为开始使用的jdk1.8 由于种种原因想用 jdk1.7去编译一下项目,从此便掉入了一个坑爹的坑中,事情是这样的:
1.在pom.xml文件中我做了 如下配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <!--自己项目的maven坐标以及一些简介、打包方式--> <modelVersion>4.0.0</modelVersion> <groupId>wenjie</groupId> <artifactId>web_maven</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>web_maven Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <!--junit测试类--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!--jstl--> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <!--jdbc连接--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <!--springmvc--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.6.RELEASE</version> </dependency> <!--servlet--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <!--mybatis--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <!--mybatis-spring整合包,这样就可以通过spring配置bean的方式进行mybatis配置了, 不然需要单独使用mybatis的配置--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <!-- 导入dbcp的jar包,用来在spring-mybatis.xml中配置数据库 --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!--对Spring 对JDBC 数据访问进行封装的所有类--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.6.RELEASE</version> </dependency> </dependencies> <build> <finalName>web_maven</finalName> <!--解决idea源经常重置为1.5问题--> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
2.在<build>中,为了防止idea总是重置1.5 ,配置了 <source>1.8</source>,后来想要用jdk1.7去编译所以 就把这里的 1.8改成了1.7,如下
<build> <finalName>web_maven</finalName> <!--解决idea源经常重置为1.5问题--> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build>3.然后重启服务,编译、重新部署、启动都没有报错,但是首页居然神奇的报了404
再之后,各种调各种换tomcat,换jdk统统不好使,折腾了四五个小时,部署包里面文件齐全,总之就是各种404。
折腾到筋疲力尽后没有办法了,下班回家,给媳妇做饭。
4.晚上11点,开电脑继续!运气很好,在文件夹里面发现了一个我两天前备份的一个代码包,这个包我以前是能运行的,所以就把这个包解开了 open到idea里面运行了起来,这次把部署包删掉重新部署,完全正常。至此看来,环境是完全没有问题的,那么有问题的是谁?? 那就是idea了。
5.请看文件目录红框内的文件、文件夹中 .idea是 idea的配置文件 classes target是编译部署生成的,web_maven 不知道是个什么玩意,关掉idea 红框内的文件统统删掉。
6.重启idea,如下图,红框内的项目是上一次那个报404的,不要图省事还用那个,把他直接xx了,重新open
7.之后就配置编译、部署,重新部署的时候如下图,这里会有这么两个包,统统xx了,之后把jdk web spring之类的都配好了,点apply,然后ok。这个对话框会关掉,然后再次打开这个窗口(必须这样做,不然不会出来自动打包的那个)
再次打开这个窗口后,如下图,点击creat 让他自己生成。
之后tomcat配置,不再赘述。。。。
运行成功!!!! :),这是我山寨的QQ空间的登录页,进行钓鱼的