011.导入Eclipse的WEB的项目到Intellij[非M
首先,来点干货就是如何把我们之前在Eclipse环境开发的项目,如何导入到Intellij IDE中,并且让其可以正常运行成功呢?我们举例的是祥云19期[白班]完成的精简版的RBAC项目,因为我已经有点厌倦了录制视频的的感觉,自己对着电脑录制的时候,很空洞,也感觉到了无趣,还是简单谢谢写写东西,让自己不再忘记,讨厌现在的感觉!
你可以把你之前随意的用Eclipse开发的项目进行测试,而胖先生在这里说明一下,我是把其复制到我Intellij IDE的文件夹下,只是做测试使用,下面我们选择打开项目,操作如下:
- 在 IntelliJ IDEA 下是支持直接打开 Eclipse 项目的,无需导入。
- 箭头所示,选择项目的 .project 文件打开即可
看看我们的界面,我来跟大家介绍一下,这个里面一定要小心哟!
Paste_Image.png- 如上图标注 1 所示,IntelliJ IDEA 能自动识别到可编译的 src 类目录,所以这里文件夹是蓝色的。
- 如上图标注 2 所示,Java Web 项目 WebContent 是整个项目输出的根目录,所以这个区域也是非常重要的,只是无需配置。
- 如上图标注 3 所示,bulid文件夹下的classes文件夹需要进行转移,因为我们之前发布之后该文件夹会放置到WEB-INF的classes的文件夹下,并且该文件夹是红色的,也就是被排除,但不影响容器去使用它。[如何改变class的目录呢?]
Paste_Image.png如何改变class的目录呢? 图解
弹出窗口的设置如下
Paste_Image.pngPaste_Image.png操作之后的效果如下:
你以为完事了吗?NO!NO!NO!NO!NO!NO!那么我们如何进行修改呢?
继续
Paste_Image.png Paste_Image.png番外篇:
- 如上图红圈所示,我们可以根据对项目的任意目录进行这五种目录类型标注,这个知识点非常非常重要,必须会。
- Sources 一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 Java 类和包,这一点需要牢记。
- Tests 一般用于标注可编译的单元测试目录。在规范的 maven 项目结构中,顶级目录是src,maven 的 src 我们是不会设置为 Sources 的,而是在其子目录 main 目录下的java 目录,我们会设置为 Sources。而单元测试的目录是 src - test - java,这里的java 目录我们就会设置为 Tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,但是我这里还是会先说说。从这一点我们也可以看出 IntelliJ IDEA 对 maven 项目的支持是比较彻底的。
- Resources 一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src - main -resources,这里的 resources 目录我们就会设置为Resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。
- Test Resources 一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:src - test -resources,这里的 resources 目录我们就会设置为 Test Resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。
- Excluded 一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。
- 通过上面的介绍,我们知道对于非 maven 项目我们只要会设置 src 即可。
- 目录会在右侧有一个总的概括。其中 classes 虽然是 Excluded 目录,但是它有特殊性,可以不显示在这里。
- 如果要去掉目录的标记含义,可以点击打叉按钮进行删除。
你以为完事了吗?NO!NO!NO!NO!NO!NO!
Paste_Image.png
- 如上图红圈所示,这里显示项目的所有依赖包,其中红色表示 IntelliJ IDEA 无法识别。IntelliJ IDEA 支持一个一个导入依赖包,也支持直接导入一个目录下的所有依赖包。上图的这种就是一个一个具体化的依赖包。除非你的项目各个依赖包有存在依赖顺序关系,不然不建议一个一个引入,这样比较麻烦。所胖先生这里会先把这些零散的依赖包全部去除掉,然后按目录来引入。
- 如上图标注1所示,依赖包支持这五种操作。
- 加号,表示可以引入新依赖包。
- 减号,表示可以去除对应的依赖包。
- 向上箭头,表示依赖包可以向上移动位置。依赖包越上面的表示在项目加载的时候越是优先,所以对于同一个依赖包,不同版本,依赖顺序不同,结果可能也是很有会不同的。
- 向下箭头,表示依赖包可以向下移动位置,原因同上。
笔,表示可以编辑依赖包的名称和路径。
开始引入拥有的Jar包,我们是引用整个lib目录,操作如下!【暂停这步】
Paste_Image.png
如上图所示,引入依赖包支持 jar 包和目录。以及已经导入项目的 Libraries 中的依赖包。多 Module 的项目还可以依赖其他 Module。
推荐的引用jar的方式,图解如下:
Paste_Image.png Paste_Image.png Paste_Image.png由于我们刚刚去掉了红圈中的所有依赖包,所以我们现在还需要导入依赖包。到导入之前我们先把项目的 lib 作为一个总的依赖包进行放置到项目 Libraries 中。就是把 lib 目录转换成一个依赖包。这样的好处是,当我们项目有新添加依赖包,我们只要放置在 lib 目录下即可自动被项目引入,原因就是因为我们这里引的是目录,而不是一个一个依赖包。
关于jar包的问题解决了!
你以为完事了吗?NO!NO!NO!NO!NO!NO!
- 对于传统的 Java Web 项目,我们一般还需要指定配置 web.xml 位置。这个一般在 Facts 中进行配置。Facts 可以理解为用于配置项目的框架区,在这里管理项目使用的框架配置文件。这个是 IntelliJ IDEA 特有的一个配置点。
- 除了 web.xml 一般我们要配置外,其他一些框架,即使我们不在这里配置也是不会影响项目的运行的,但是是有缺点的。比如我们项目中一般都是有 Spring 框架的,而 Spring 是有很多配置文件的,如果我们在这里进行了配置,那你会发现 IntelliJ IDEA 编辑区底部会多出现几个跟 Spring 项目的设置区,原因就是你告诉了 IntelliJ IDEA,你的项目使用了 Spring 框架,那 IntelliJ IDEA 就会出现其对应的配置功能给你。Hibernate 等其他框架道理一样。
修改后的效果如下
你以为完事了吗?NO!NO!NO!NO!NO!NO!
- Artifacts 也是 IntelliJ IDEA 特有的一个概念,我们可以理解这里是配置项目最终输出结果的地方。比如 Java Web 项目我们一般必备一个配置就是要配置成一个 war 包展开的方式,这样容器才能运行该项目。就需要配置一个 war 包展开的输出结构。其结构是由于前面的几项配置决定,所以如果前面的 Module 配置没有多大问题,这里可以省去一些配置步骤。但是有些时候我们也是需要做一些修改,比如此项目的输出目录默认生成的是错误,我改为了项目中的 webRoot 目录。
- 该 Artifacts 配置,等下在配置 Tomcat 的时候也会引用到,所以这里需要重点注意下。
如何对Artifacts 进行配置呢?
Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png改造完毕了!
Tomcat的配置,图解操作,进入配置服务器配置界面!
Paste_Image.png Paste_Image.png Paste_Image.png这里没有什么好说的吧!!!!
Paste_Image.png Paste_Image.png推荐的方式:
Paste_Image.png Paste_Image.png还没有配置完毕,好麻烦!!!
Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png