Maven中使用tomcat:run出现错误org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException

Maven中使用tomcat:run出现错误org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException

这几天在学习maven,跟着视频上学maven,看到人家直接tomcat:run就成功部署了项目,所以自己也尝试了一下,但是项目可以正常部署,但是访问的时候servlet访问正常。jsp访问出现编译错误。


1.使用maven:tomcat发布项目成功。
Maven中使用tomcat:run出现错误org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException_第1张图片

2.servlet访问一切正常。jsp访问出现org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException的错误

Maven中使用tomcat:run出现错误org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException_第2张图片

Maven中使用tomcat:run出现错误org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException_第3张图片

3.查看编译路径下没有对应的.class文件

Maven中使用tomcat:run出现错误org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException_第4张图片

分析原因:
1.pom.xml文件是正常,编译不存在jar包冲突

这里写图片描述

2.配置是正常的。查阅资料以后说是jdk版本什么的问题。多方修改没有任何改观。
换一个思路去查询tomcat:run怎么运行。原来适合maven整合因此可以得知在pom文件中加入插件所以在pom.xml文件中加入如下配置

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.mavengroupId>
            <artifactId>tomcat7-maven-pluginartifactId>
            <version>2.2version>
            <configuration>
                <port>9999port> 
                <uriEncoding>UTF-8uriEncoding>
            configuration>
        plugin>
    plugins>
build>

这里的port可以自定义端口不在和其它8080端口冲突
这时当你再次使用tomcat:run的时候发现还是和刚才一样。是因为他还是沿用了上一次的tomcat插件(默认是6)所以运行的时候使用 tomcat7:run

Maven中使用tomcat:run出现错误org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException_第5张图片

这样配置生效,通过地址去访问
效果如下:
Maven中使用tomcat:run出现错误org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException_第6张图片

Maven中使用tomcat:run出现错误org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException_第7张图片

希望对你们能有帮助。

你可能感兴趣的:(学习总结,maven)