IntelliJ IDEA导入多个项目的配置和运行

介绍

有时一个项目依赖其他多个项目,如果打开多个项目窗口,编译和运行还是不方便的,本篇文章就介绍在一个项目中如何加入其他的依赖项目。

项目导入

如果一个项目依赖多个项目,最好导入的时候在一个工程下,引入多个模块,如下添加模块方式:
IntelliJ IDEA导入多个项目的配置和运行_第1张图片
之后按照提示一步步进行,一般默认下一步即可。导入后最终工程结构如下所示:
IntelliJ IDEA导入多个项目的配置和运行_第2张图片
最好重新编译一下,否则可能会遇到奇怪的错误。如果是Maven项目,需要在右侧Maven窗口中按照依赖顺序安装下:
IntelliJ IDEA导入多个项目的配置和运行_第3张图片

运行配置

编译成功后再来说下运行测试,首先进行运行配置,如果是Java web或SpringMVC项目,需要配置Tomcat环境:
IntelliJ IDEA导入多个项目的配置和运行_第4张图片
然后设置配置的名字和运行端口:
IntelliJ IDEA导入多个项目的配置和运行_第5张图片
同时一般下面会提示没有artifacts运行:
IntelliJ IDEA导入多个项目的配置和运行_第6张图片
关于Artifact,其实可以简单理解为打包的文件和规则。可以点击右侧“Fix”按钮,或者直接切换到Deployment页面手动添加,点击右侧的+:
IntelliJ IDEA导入多个项目的配置和运行_第7张图片
在里面选择要运行的war包:
IntelliJ IDEA导入多个项目的配置和运行_第8张图片
其中ROOT:war是打成war形式,一般用于发布,而下面的ROOT:war exploded是以资源文件的形式打包,方便调试,所以这里选择后者。

手动添加Artifact

如果添加Artifact时发现没有怎么办呢?那只能自己手动来添加了,首先得添加Facets,因为是Web项目,所以添加Web:
IntelliJ IDEA导入多个项目的配置和运行_第9张图片
然后选择对应的Module:
IntelliJ IDEA导入多个项目的配置和运行_第10张图片
注意自动生成的web.xml路径可能不对,核对一下,如果不对及时修改:
IntelliJ IDEA导入多个项目的配置和运行_第11张图片
同样下面的Web Resource目录也检查一下:
IntelliJ IDEA导入多个项目的配置和运行_第12张图片
如果是Spring项目,还要用同样方法添加一个Spring的Facet,这里不再赘述。添加后下面警告没有对应的Artifact,点击Fix按钮去创建:
IntelliJ IDEA导入多个项目的配置和运行_第13张图片
在Artifacts页面先创建一个空的Artifact:
IntelliJ IDEA导入多个项目的配置和运行_第14张图片
然后输入名字并修改类型:
IntelliJ IDEA导入多个项目的配置和运行_第15张图片
注意war的输出路径“Output directory”一定要修改正确,默认是out下某个路径,要修改为Module对应的target目录,否则启动Tomcat时会找不到war包:
IntelliJ IDEA导入多个项目的配置和运行_第16张图片
这个Artifact用于打war包,然后再添加一个LNG-manager-service:war exploded,用于说明war包含哪些文件,把刚创建的Facet资源添加进去:
IntelliJ IDEA导入多个项目的配置和运行_第17张图片
选择对应Module下的Facet:
IntelliJ IDEA导入多个项目的配置和运行_第18张图片
注意war exploded的输出路径“Output directory”也要修改正确,默认是out下某个路径,要修改为Module对应的target目录,否则启动Tomcat时会找不到war包:
IntelliJ IDEA导入多个项目的配置和运行_第19张图片
然后再创建WEB-INF路径:
IntelliJ IDEA导入多个项目的配置和运行_第20张图片
同样方法继续在WEB-INF下创建classes目录,并添加编译输出项:
IntelliJ IDEA导入多个项目的配置和运行_第21张图片
接下来就是添加对应的lib了,在右侧的“Available Elements”窗口栏中有对应Module所需的Lib,右键点击“Put into /WEB-INF/lib”即可加入:
IntelliJ IDEA导入多个项目的配置和运行_第22张图片
同理创建META-INF目录并加入MANIFEST.MF文件,最终添加完目录入下图所示:
IntelliJ IDEA导入多个项目的配置和运行_第23张图片
最后在LNG-manager-service:war中包含刚刚添加的LNG-manager-service:war exploded:
IntelliJ IDEA导入多个项目的配置和运行_第24张图片
IntelliJ IDEA导入多个项目的配置和运行_第25张图片
最终结果如下:
IntelliJ IDEA导入多个项目的配置和运行_第26张图片

部署运行

如果我们调试的工程需要启动一个以上的Module,则在文章开始说的“Edit Configurations…”配置Tomcat的Deployment页中依次加入多个war exploded:
IntelliJ IDEA导入多个项目的配置和运行_第27张图片
项目启动的顺序就是war exploded添加的顺序,当然也可以分成两个配置分别启动。另外注意的一点就是部署后的访问路径,一般添加war exploded后默认的是/XXX_war_exploded路径:
IntelliJ IDEA导入多个项目的配置和运行_第28张图片
同时IDEA也会自动给出访问地址:
IntelliJ IDEA导入多个项目的配置和运行_第29张图片
如果项目需要部署在根路径的话,就修改“Application context”的设置路径:
IntelliJ IDEA导入多个项目的配置和运行_第30张图片
修改后,访问路径会自动替换的:
IntelliJ IDEA导入多个项目的配置和运行_第31张图片
配置好这些之后,就可以点击运行按钮测试了。。。

你可能感兴趣的:(基础知识,环境搭建)