背景
当项目环境比较大时候,很经常会遇到Maven package打包成功,但是在Idea一直都编译失败,找不到某个类或者是Java Compiler失败,这时候你可能需要调整一下Idea的编译器或者甚至是Idea重新导入你的工程,比较耗时间,如果一天遇到这样几次,那么重复这几个操作一直尝试,可能也可以解决问题,但是效率就很低了,所以不烦可以通过maven tomcat plugins跑web项目。
- Tomcat运行编译失败,方法1:File -> Settings -> Build,Execution,Deployment -> Compiler -> Java Compiler,把Javac改成Eclipse。因为idea默认使用javac,而javac当在编译时发现一个编译错误就直接停止编译了。而ecj支持proceed on errors(出错时继续),这样就能够全局看到整个项目存在多少问题。
- Tomcat运行编译失败,解决方法二:File -> Open,选择对应项目(如果是Maven,选择Maven项目下的pom.xml文件),重新导入
- Tomcat运行编译失败,解决方法三:在Maven项目下重新运行下面命令,然后Idea 重新编译试试,或许可以解决
mvn clean pacakge -Dmaven.test.skip=true
下面重点介绍maven tomcat plugins方案
Maven Tomcat Plugins方案
1、在项目路径pom.xml文件 添加 一下代码
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url> <!-- 可去掉 -->
<username>tomcat</username> <!-- 可去掉 -->
<password>123456</password> <!-- 可去掉 -->
<port>8080</port>
<path>/test</path> <!-- 则本地访问路径 http://localhost:8080/test/ -->
<update>true</update>
</configuration>
</plugin>
<plugins>
2、则可以Maven视图对应的web war module节点下面的 plugins 看到 tomcat7 这个plugins了
3、选择tomcat7:run-war 右键,然后点击 Create '[模块名]...'... 选项
4、配置maven 配置
5、VM Options填上 -Dmaven.multiModuleProjectDirectory=$MAVEN_HOME,如果有其他jvm参数也可以填上
6、Apply -> OK即可
7、运行即可启动tomcat 项目了
这样就可以避免比较大的tomcat项目在idea一直运行失败的问题了