【编译失败】Compilation failure An unknown compilation problem occurred


maven的tomcat7插件启动tomcat提示:Compilation failure An unknown compilation problem occurred;

改成本地Tomcat8.5.68后可以启动,但是无法找到项目的资源,无论是超链接还是servlet都无法跳转:

 

 

 

 

 

 

 

 原因猜想:

tomcat7插件生成的url路径是按照html的给的,但是本地的tomcat的url路径需要加上打包的路径,也就是说/login_war。

 

 

 

原路径:http://localhost:8080/Login/Login.html

修改后的路径:http://localhost:8080/Login_war/Login.html

 并且把login.html的路径也修改成Login_war:

<form action="http://localhost:8080/Login_war/LoginServlet" id="form" method="post">

clean,重新打包,登录成功:

 后续:

 tomcat7插件编译失败,搜索很多遍后得到可能的原因是maven每次更新都会把java compiler里的jdk版本修改回1.5,需要改回使用的8版本。

不过我这里修改后还是报错,报错后又试着run了一遍,神奇的事情发生了:居然可以以tomcat插件的方式启动!

 

 

 不过tomcat插件和本地tomcat的路径是需要注意的是,tomcat插件的路径是按本地项目名(Login)决定的,而本地的tomcat是按照tomcat的webapps目录下的war包名决定的。

也就是说,使用tomcat插件,servlet路径要写成这样:

<form action="/Login/LoginServlet" id="form" method="post">
而本地tomcat服务器则是/Login_war/LoginServlet


----后记------
终于发现问题所在了。。。
原因是pom.xml文件里误删了个字母...变成了compiler.arget,导致一直编译不成功,同时java compiler里面的版本也一直没有绑定为jdk8 ,而是变回了1.5,到此一切都说得通了。
正确的应该是这样的:

<maven.compiler.target>8</maven.compiler.target>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM