IntelliJ使用指南—— 导入Eclipse的Web项目

2023-05-16

 通常一个团队中可能有人用eclipse,有人用intelliJ,那么经常会出现需要导入别人用eclipse建好的web项目。而IntelliJ提供了多种项目类型的导入方式,其中就有eclipse。

    在初始窗口中点击Import Project,在文件树中选择你的项目,打开导入窗口,选择Eclipse选项,点击下一步
    

     选择你的项目名称,可以选择下方的Open Project Structure after import,会在导入完成后,直接打开项目设置窗口;若不选,可以后面手动打开,区别不大。下一步。
    

     选择jdk,我这里已经配置好。若没有,点击左侧+号,配置jdk信息。然后选择一项你需要的jdk版本,点击完成。
     

     导入就完成了,这时候主窗口就打开了,左侧是项目目录,右侧是编辑区域。下图是目录树结构,发现已经生成了.idea目录和web_test.iml文件,这些是idea的IDE依赖文件。
     

     若是前面选择了Open Project Structure after import,此时会自动打开下图窗口,若是没有选择,那么鼠标点击项目名称后,按F4打开。此时我们看到highlight部分是选择的jdk版本,下面是默认的编译输出路径,但是这个暂时是没用的,后面会被覆盖掉,所以不用管它。
     

     左侧选择下一个菜单,Modules,这是idea的概念,project下面包含了Modules。这里插一句,有很多人会对这个概念很迷糊甚至不齿,但这个概念的确是正确的,它是来自于maven的思想,如果你看到过一些大型开源软件,开源nosql的源码就知道,一个project下面会分很多模块开发。但是对于常规的java web来说,不用管那么多,就理解为一个project就是一个module,两者合二为一就行。
     这个菜单下,首先点击右侧三个横向标签页Dependencies,看下图,底下显示了3 errors found,另外我手贱去画了几条高亮,其实这些高亮处都是红字,说明在idea里是不存在的。包括SDK一栏,和下面两个jar包,都是从eclipse依赖文件中读出的,因此全部删掉。
    
    
    然后选择三个横向标签页的Paths,会看到highlight处,这里就是我说的覆盖掉前面的编译输出路径,当然,使用默认就可以,不需要改动。会将class文件放到src同级的build目录下。
    

    三个标签页的第一个Sources如下图,没有需要修改的,这里主要定义了几个目录的角色,通过颜色标识,比如src默认定义为Sources,其他暂时都没有角色。而如果项目是用maven构建的,那么Sources,Tests,Resources和Test Resources就都有对应的目录了。可以看出,idea很大程度上都是依靠于maven的思想,或者说它底层很多地方就是靠maven来运行的。而这几个不同的目录角色,各有一些独有的特性,如果不去搞清楚也不要紧。因为这些目录,对于eclipse来讲,都是classpath一个角色。
    

    接着,选择左侧Facets菜单,这个概念在eclipse里也是有的,就是标明项目是由哪些组件构成的,如web,spring,strtus,hibernate等。点击+号,进行选择,这里选择web。
    

    点击后,会发生有趣的事情,左侧菜单会跳转到Modules,而右侧,展现出web配置相关的表单。关于左侧的跳转,你在配置万Facets后会发现,这两个菜单项中都会存在这些配置,web,spring等等。我并不是很理解为什么,猜测和多模块的思想有关。
   右侧配置项中,两处高亮,上面是web.xml路径,下面是web根目录。这里是默认路径,与我们不符,需要手动修改。因为idea默认web根目录名字为web,而不是eclipse的WebContent,像MyEclipse是WebRoot。
   
    
    修改好后,看到右下角,有一个按钮,Create Artifact,这又是maven地概念了,这个Artifact指的就是将要投到tomcat里去跑的那个目录。只不过它不会真的拷贝到tomcat安装目录下。只是会让tomcat来寻找这个路径,运行目录下面的程序。
   

    点击后,左侧跳到Artifact菜单,右侧展现配置表单。这个过程与你手动切换到Artifact菜单,然后点击+号选择打包类型的效果是一样的。刚才那个按钮是idea的智能化行为。
    表单中,name,随便取,可以不用修改。Type,Web Application: Exploded是web开发的常用类型,无需修改。Output directory,输出路径就是这个Artifact的目录所在,idea会将所有需要的资源,包括class,lib,web目录等等以tomcat能够识别的目录结构拷贝到这里。而tomcat会直接使用这个目录运行系统。默认是与src平级的out目录下。一般也不用修改。
    右侧的区域Available Elements中,最有可能出现的就是lib目录下的jar包,这里测试环境我忘了准备。但是一般情况下会列出一个jar包列表。这时候会有红线提示,要你把jar包加入左侧的输入目录结构中。那么右键菜单中选择Put into Output Root。这样错误提示会消失。但是!!我这里要提一下,这个步骤其实现在的场景下是无效的,或者说这个错误提示完全不用管它。因为你会发现你即使不把jar包导入左边,运行时,lib下的所有jar包依然会拷贝到artifact目录下。但这不是idea的bug,是有原因的,这里就不说了。
    

    点击OK就可以了,这样项目配置就算完成了。然后是配置tomcat。

    上部菜单栏会有一个小三角,下拉后选择Edit Configuration
    

    弹出窗口后,按图示选择。
    

    选择后,打开tomcat配置表单。
    name,随便取,我一般取tomcat5/6/7。Application Server,选择一个以关联的tomcat版本,若没有关联过,点击右侧Configure做关联。After launch可以勾选,在start/restart tomcat后会自动打开浏览器并访问指定url。右下角有一个和session相关的勾选框,可以勾选,作用是restart以后,前面session中的值可以自动设置,就不用再次登陆啦~~
    

    切换到第二个标签页deployment,点击右侧+号,选择第一项artifact,选择刚才创建的那个artifact,
    

    右侧的Application context作用是你的url访问根路径,默认是/,就是说你的url中不包含我们以往所习惯的项目名,比如若是在web根下有index.jsp,那么路径就是http://127.0.0.1:8080/index.jps,而不是http://127.0.0.1:8080/web_test/index.jsp,当然,出于对传统的习惯,这一项你可以改成/web_test
    

    点击OK,tomcat配置就结束了,然后就可以开始运行tomcat了。界面上部会有tomcat图标,右方有run, debug图标,点击即开始运行。浮出run/debug Panel。
    

     如果log一切正常,就说明运行起来了。在前面的过程中,存在一些配置,对开发过程还是有帮助的,但是与运行起来不影响,就不一一举例说明了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IntelliJ使用指南—— 导入Eclipse的Web项目 的相关文章

  • Ruby On Rails - 在控制器中使用关注点

    可能的菜鸟警告 刚接触 RoR 我正在尝试在 RoR 中使用关注点 现在我只写了一个非常简单的问题 app controllers concerns foo rb module Foo extend ActiveSupport Concer
  • Checkstyle 问题:创建格式化程序配置文件

    我下载了大学的 checkstyle 插件 以便像我的教授想要的那样检查代码 我们得到了一个 xml 配置文件 我用另一个 checkstyle 配置创建了 首选项 gt Checkstyle gt 新建 我还将其设置为默认值 现在我们必须
  • 如何在必要时自动将 @Override、@Deprecate 和 static 修饰符添加到所有项目 Java 类的方法中?

    我需要插入 Override https docs oracle com javase 9 docs api java lang Override html Deprecated https docs oracle com javase 9
  • 访问 java jigsaw 模块中的资源文件[重复]

    这个问题在这里已经有答案了 我正在尝试从项目中的类访问 Eclipse 项目中的文件 我需要将该项目声明为 jigsaw 模块才能从其他项目访问它 但是通过这样做 我无法再访问项目中的 example png 等文件 这是我的项目结构 pr
  • 如何将 JAVAX-WS 端点绑定更改为 SOAP 1.2?

    我正在使用发布测试 WS 实现Endpoint publish 用于在 Visual Studio 中使用 根据文档 http metro java net nonav 1 2 docs endpoint html默认的 SOAP 绑定是1
  • 比较在 Eclipse Neon 中不工作

    我 最后 尝试从 Mars 2 升级到 Eclipse Neon 安装 SVN 支持和 SVNKit 1 8 14 连接器后 我可以访问我的存储库 然而Compare不管用 如果我右键单击已修改的文件 然后选择与工作副本中的基础进行比较将显
  • Eclipse(STS)+ Maven

    我基本上有两个问题 有没有办法从 Eclipse 调用 Maven 控制台 我可以在哪里写eclipse eclipse 并开始构建 eclipse 项目 哪里有STS http www springsource com products
  • 如何在odoo中重写js函数

    我想加载 shop checkout url 函数是 odoo define change info order website sale change info order function require use strict oe w
  • 更改 eclipse 中 .txt 文件编辑器的外观

    我正在为 Eclipse 使用深色主题 当我打开扩展名为 txt 的文件时 文本和背景的颜色都是黑色 如何更改此 txt 文件编辑器的外观 我想将文本颜色设置为白色 我对首选项菜单感到困惑 我已经找到了 在首选项菜单中选择 General
  • Maven 多模块项目结构问题

    自从过去几周构建我的 Maven 多模块项目以来 这是我的一次有趣的经历 当我决定使用 Maven 进行构建生命周期管理时 我有几个原因希望选择 Maven A 大多数开发团队都是分开的 这样每个团队都可以在项目中的单独模块上工作 例如团队
  • Eclipse 中的字/行计数工具

    有没有任何工具或插件可以做到这一点 CodeBlock 有这个简洁的工具 非常好 不知道它是否可以在 Eclipse 上使用 谢谢 http metrics sourceforge net http metrics sourceforge
  • 如何保护我的网站免遭 HTTrack 或其他软件的翻录?

    我最近获得了批准的网站模板主题森林 http themeforest net 我的网站流量过多 并注意到我在 Themeforest 上的演示被 HTTrack 等某些软件破坏 如果这种情况持续下去 该产品的销量最终可能会下降 那么 有什么
  • Gradle 1.3:build.gradle 不构建类

    这里有一个新问题 我有一个 build gradle 文件apply plugin java在其中 并与 java 项目 包关联 当我跑步时gradle build从命令行我得到 compileJava UP TO DATE process
  • 为什么使用HTTP协议时需要指定端口号?

    即使我们使用HTTP协议 为什么还需要用IP地址指定端口号 例如 http xyz 8080 这到底是什么意思 我们已经知道 在使用 HTTP 时 请求将在端口 80 上提供服务 那么为什么我们要显式指定端口呢 HTTP 的默认端口为 80
  • 使用“邮递员”chrome 应用程序的肥皂请求正文

    假日网络服务 的肥皂请求正文会是什么样子 http www holidaywebservice com HolidayService v2 HolidayService2 asmx wsdl http www holidaywebservi
  • Eclipse:缺少 Java 构建路径

    我正在尝试使用 Eclipse 来使用适用于 Android 的 Google SDK 教程 我能够让前两个项目正常工作 但是当运行第三个 R java 时消失了 所以我放弃了 我根据练习 3 的解决方案集制作了一个全新的包 它充满了错误
  • 以编程方式检查 .class 文件是否扩展特定类

    我有一个问题 我已经尝试解决好几个小时了 在 Eclipse 插件中 我有一个 ArrayList 其中包含一些 java class 文件的完整路径 作为字符串 我想做的是检查列表中包含的类是否扩展了特定的类 我考虑过解析该文件 查找 e
  • Android:R 类停止生成

    我是 android 编程的新手 我正在做 Commsware 教程中的教程 确切地说是 T3 教程 期间我清理了项目 之后 R 类文件停止生成 我删除了该项目 看起来相同的错误正在传播到我正在创建的其他新项目 新创建的项目也会出现此错误
  • 如何使用 Eclipse 作为 Javascript IDE?

    我从官方下载页面下载了 eclipse Javascript IDE 但是 当我启动应用程序时 它显示 必须提供 Java 运行时环境或 Java 开发工具包才能运行 eclipse 我已经有一个运行良好的 eclipse 的 java I
  • Netty Nio java 中的通信

    我想在 Netty nio 中创建一个具有两个客户端和一个服务器的通信系统 更具体地说 首先 我希望当两个客户端与服务器连接时从服务器发送消息 然后能够在两个客户端之间交换数据 我正在使用本示例提供的代码 https github com

随机推荐

  • web安全之token和CSRF攻击

    上文我转载了两篇关于ThinkPHP令牌验证的文章 xff08 ThinkPHP中的create方法与自动令牌验证 xff09 其中提及到了 token xff0c 这里针对 token 的作用 xff0c 转载了另外两篇文章 xff08
  • java中的==、equals和hashCode以及hashCode生成

    转载自 xff1a xff08 点击打开链接 xff09 前言 java中 61 61 equals hashCode 都和对象的比较有关 xff0c 在java中这三者各有什么用处呢 xff0c 即java中为什么需要设计这三种对象的比较
  • javascript调用微信或QQ扫一扫

    项目里为了体验做的好点 xff0c 想直接通过js调用手机的扫一扫 xff1a 服务的用户主要是通过 xff1a 微信或QQ 之前使用过 微信或QQ的分享 腾讯移动WEB开发平台的 39 对外分享组件接口文档 39 http open mo
  • Java中的反射机制

    获取类的类类型的3种方式 xff0c 以及如何通过类的类类型创建实例对象 xff1f ClassDemo1 java package com reflect public class ClassDemo1 public static voi
  • Java中的自定义注解

    自定义注解 Description java xff08 这里自定义Description注解 xff09 package com ann test import java lang annotation Documented import
  • Java中自定义注解的应用

    来自 慕课网 的学习 我们可以使用自定义注解 xff0c 实现ORM xff0c 即对象 关系的映射 通过自定义注解 xff0c 定义对象对应数据表的属性 xff0c 如表名 xff0c 表字段等 Table java xff08 Tabl
  • Intellij IDEA下的第一个Hibernate项目

    参考 xff1a intellij配置hibernate自动生成hbm xml文件 从零开始用Intellij idea14创建hibernate项目 下面我要讲的创建方式 xff0c 可能更加原生态 xff0c 更加类似于Eclipse下
  • Intellij IDEA使用注解创建Hibernate项目中的OR映射类

    上回说到 xff1a Intellij IDEA下的第一个Hibernate项目 我们需要创建 对象到关系的映射配置文件 xff0c 如 entity hbm xml xff08 其中 entity 是我们将要创建的实体 xff09 下面讲
  • Hibernate中Blob对象类型的使用

    使用Intellij IDEA创建Hibernate项目 xff0c 目录结构如下 xff1a 其中 assets app png 为将要存储的照片 xff0c src hibernate cfg xml 为Hibernate的配置文件 x
  • Hibernate组件映射

    转载自 xff1a 点击打开链接 在Hibernate中 component 是某个实体的逻辑组成部分 xff0c 它与实体的根本区别是没有oid xff08 对象标识符 xff09 xff0c component是一个被包含的对象 它作为
  • Hibernate中的单向一对多关联

    源自 imooc 中的学习 Hibernate中的单向一对多关联 xff0c 这里举例 班级对学生 的单向一对多关联 xff0c 即一个班级可以有多个学生 那么在Hibernate中实体对象间如何体现出单向一对多的关联关系呢 xff1f 如
  • Hibernate中的单向多对一关联

    继上回讲到 Hibernate中的单向一对多关联 xff0c 这次来实现一下Hibernate中的单向多对一关联 对原来的项目修改如下 xff1a Hibernate中的单向多对一关联 xff0c 需要我们在多方增加一个一方的属性 xff0
  • Hibernate中的双向多对一关联以及 inverse属性、cascade属性的用法

    上回 说了 Hibernate中的单向一对多关联 和 Hibernate中的单向多对一关联 这次针对这两个 单向 进行整合即可实现双向的多对一关联 如 xff1a 学生与班级的关系 在Grade类中需要添加 Set集合保存Student对象
  • 优化器 optimizer

    优化器 optimizer optimizer 优化器 xff0c 用来根据参数的梯度进行沿梯度下降方向进行调整模型参数 xff0c 使得模型loss不断降低 xff0c 达到全局最低 xff0c 通过不断微调模型参数 xff0c 使得模型
  • Hibernate中的多对多关联

    源自 imooc 的学习 多对多关联是一种常见的关联关系 多对多关联关系一般采用中间表的形式来实现 xff0c 即新增一张包含关联双方主键的关联表 那么 xff0c 在Hibernate中如何实现多对多的关联关系呢 xff1f 多对多关联可
  • HQL数据查询基础(一)

    源自 imooc 的学习 什么是HQL呢 xff1f HQL 是Hibernate Query Language xff0c Hibernate查询语言 xff1b 同时HQL是一种面向对象的查询语言 xff0c HQL查询的主体是映射配置
  • HQL数据查询基础(二)

    继上回 xff08 HQL数据查询基础 xff08 一 xff09 xff09 说到的例子 网上商店 xff0c 来继续完善持久化类和配置文件的创建 上回 在 com imooc model 包中创建 Seller java 持久化类 xf
  • HQL数据查询基础(三)

    继上回 xff08 HQL数据查询基础 xff08 二 xff09 xff09 xff0c 针对 网上商店 这个例子 xff0c 来讲解一些HQL简单的子句用法 xff08 以下的所有测试方法均在 MyTest java 测试类 xff08
  • Maven中pom.xml的解析

    Maven项目中的 pom xml lt project xmlns 61 34 http maven apache org POM 4 0 0 34 xmlns xsi 61 34 http www w3 org 2001 XMLSche
  • IntelliJ使用指南—— 导入Eclipse的Web项目

    通常一个团队中可能有人用eclipse xff0c 有人用intelliJ xff0c 那么经常会出现需要导入别人用eclipse建好的web项目 而IntelliJ提供了多种项目类型的导入方式 xff0c 其中就有eclipse 在初始窗