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>