idea运行maven多模块工程遇到的坑

工程结构

检查webui模块


注意,webapp文件夹是有一个蓝色的小圆点,只有这样才说明此模块可以被idea认为是一个web模块,那么既然我们的工程都不是web项目,那还启动个毛线,所以我们要先将蓝色的小圆点搞出来。

将模块变成web工程

选中webui模块按F4,弹出设置对话框,选择Modules。

设置Artifacts

小蓝点已经有了,但此时项目依旧不能运行在tomcat中,还得需要配置Artifacts,将其放到tomcat中(这么说或许不标准,其实idea使用的是虚拟tmocat,并没有将war包真正放到配置为tomcat的webapp文件夹里),才能运行。选中webui模块按F4,选择Artifacts
,点击OK

配置Tomcat Artifact

关于idea如何配置tomcat这里就不演示了,默认为tomcat已经配置完成。打开配置好的tomcat,点击点击OK

启动tomcat

在启动过程中会报错,异常为 java.lang.ClassNotFoundException: Cannot find class:com.xxx.xxx.A。由于webui最终是被发布的war包,那么此war包中会依赖其他模块,所以要在Artifacts配置中设置依赖的模块。
,点击OK,再尝试启动tomcat,正常情况下应该启动成功了。如果还启动不成功,就clean项目,然后在启动。

你可能感兴趣的:(maven,idea,java-web)