IDEA导入并构建Eclipse或MyEclipse的Web项目

 之前在Eclipse或者MyEclipse编写的WebApp项目(非Maven项目)想要导入IDEA中并构建运行起来,需要经过如下步骤,这里总结记录一下:


第一步,将项目源码导入IDEA(下一步下一步即可)

IDEA导入并构建Eclipse或MyEclipse的Web项目

 第二步,构建项目结构(下面是导入完成后的构建步骤)

1、配置项目jdk以及项目编译目录(项目Artifacts 的 output目录,Artifacts即项目的打包部署,module有了 Artifacts 就可以部署到应用服务器中了。后面会指定项目的Sources信息,Sources会编译到该目录下,所以对于web项目来说就是我们的WEB-INF下的classes目录)

IDEA导入并构建Eclipse或MyEclipse的Web项目

2、配置Modules中的项目目录构建信息

配置该项目的Sources、Paths(编译路径等配置)以及Dependencies(依赖的jar包)。

配置Sources:

IDEA导入并构建Eclipse或MyEclipse的Web项目

这里配置项目的源码、测试、配置文件等等,他们会在编译期被处理,放置到指定的编译目录中,也就是你的classes中,对于maven项目,main/java、main/resources以及test均在这进行配置,

IDEA导入并构建Eclipse或MyEclipse的Web项目

配置Paths,这里就是指定你项目的编译目录,源码以及其他文件编译到哪,可以选择使用原先配置的项目output,也可以另外配置编译路径

IDEA导入并构建Eclipse或MyEclipse的Web项目

配置Dependencies:

IDEA导入并构建Eclipse或MyEclipse的Web项目

 3、配置Modules中Web模块信息

IDEA导入并构建Eclipse或MyEclipse的Web项目

IDEA导入并构建Eclipse或MyEclipse的Web项目

这个web其实就是你所配置的一个框架,说成你的项目框架更为合适吧,如图,你可以指定这个web项目的web.xml在本地哪,然后你的web包在本地哪,所以觉得这里的web更像是当前项目内的一个框架,并不是本地的一个具体文件目录web,后续在配置artifact时你可以用到这个配置好的web。这里说明因为之前使用MyEclipse构建的这个项目,所以web.xml和webRoot已经存在的,WebRoot中包含了项目的一些前端静态文件和WEB-INF等,所以将MyEclipse的项目转成一个最终可以打包运行的web项目,就是在这里配置的。

4、配置Libraries

这里配置lib也就是项目中所用到的jar包,最终会对应到最终war包中WEB-INF的lib中去。

IDEA导入并构建Eclipse或MyEclipse的Web项目

5、配置Facets(不解释了,和上上步一样)

IDEA导入并构建Eclipse或MyEclipse的Web项目

6、配置Artifacts

IDEA导入并构建Eclipse或MyEclipse的Web项目

要想最终部署到tomcat中,这里先配置要打的包,如图所示,

IDEA导入并构建Eclipse或MyEclipse的Web项目

classes就是项目的编译目录,你在modules的path中配置的编译到WebRoot下的classes中,就是这个,lib也是之前步骤中配好的,最下面这个就是之前降到的web框架,我的理解想的是这个web我已经配置的指向的就是WebRoot,所以想着我在output root下直接仅配置最后一个就行了,然后他会把webroot下的所有包含进来,当然包括WEB-INF,但是发现没有,只包含了除过classes的所有文件,这点我也不太懂,情况是个这,以后再细细研究吧,当然你也可以如下这样,artifact中的classes内容导入本地的webRoot下的文件,也是行的通的,每一个目录内容都这样做,比如先创建css目录,然后导入本地,依次类推,但麻烦。

IDEA导入并构建Eclipse或MyEclipse的Web项目

以上项目目录的构建就已经完成了,接下来就是添加到服务器上并运行了。

第三步,添加服务器并运行

配置完以后,直接将artifact添加tomcat中,然后运行tomcat即可,当然也可以build artifact。

1、添加到容器中(以tomcat为例)

IDEA导入并构建Eclipse或MyEclipse的Web项目

2、build

IDEA导入并构建Eclipse或MyEclipse的Web项目

说下artifact的过程吧,我觉得理解了更便于你操作。其实,实际上,当你点击运行tomcat时,默认就开始做以下事情:

编译,IDEA在保存/自动保存后不会做编译,不像Eclipse的保存即编译,因此在运行server前会做一次编译。编译后class文件存放在指定的项目编译输出目录下(见第二步2);
根据artifact中的设定对目录结构进行创建;
拷贝web资源的根目录下的所有文件到artifact的目录下(见第二步6);
拷贝编译输出目录下的classes目录到artifact下的WEB-INF下(见第二步6);
拷贝lib目录下所需的jar包到artifact下的WEB_INF下;
运行server,运行成功后,如有需要,会自动打开浏览器访问指定url。

可以参考这篇博文来理解(感谢博主):https://www.cnblogs.com/deng-cc/p/6416332.html

build也是做了以上步骤,只不过没有最后一步而已,这个过程的理解可以结合你配置artifact的步骤以及观察idea下的任务栏。

记住,最终运行的是artifact这个打的包,不管你是导入eclipse的工程还是自己直接idea建web,都是差不多的操作,只不过自己工作集中新建web目录,然后配置指定等。

至此,全部过程已结束。