热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

详述IntelliJIDEA创建Maven项目及设置java源目录的方法

详述IntelliJIDEA创建Maven项目及设置java源目录的方法,Go语言社区,Golang程序员人脉社

温馨提示:本教程的 GitHub 地址为「intellij-idea-tutorial」,欢迎感兴趣的童鞋StarFork,纠错。

Maven 是一个优秀的项目管理工具,它为我们提供了一个构建完整的生命周期框架。现在,就让我们一起看看如何利用 IntelliJ IDEA 快速的创建 Maven 项目吧!

firstpage

如上图所示,点击Create New Project

maven

  • 标注 1Maven选项;
  • 标注 2Project SDK,项目 SDK;
  • 标注 3archetype,Web 项目框架。

如上图所示,先点击 Maven 选项,然后选择 SDK,再从框架中选择maven-archetype-webapp用于创建 Web 项目。当然,我们也可以根本不同的需求选择不同的框架以便 IDEA 自动为我们生成项目框架。在这里,有一点需要我们特别注意,那就是:Maven 3.3.1+以上的版本需要JDK 1.7+以上的版本与之搭配使用,否则会出现异常,以至于 Maven 项目创建失败。在上述操作完成后,点击Next

project

  • 标注 1GroupId,项目坐标,与ArtifactId搭配使用,用于标记项目;
  • 标注 2ArtifactId,项目坐标,与GroupId搭配使用,用于标记项目;
  • 标注 3Version,项目版本,与ArtifactIdGroupId搭配使用,用于唯一标记项目。

如上图所示,ArtifactIdGroupId需要我们自己命名,Version默认为1.0-SNAPSHOT,表示该项目属于不稳定的快照版本,默认即可。输入完成后,点击Next

new

  • 标注 1Maven home directory,Maven 主目录,即最外层目录;
  • 标注 2User settings file,Maven 配置文件;
  • 标注 3Local repository,Maven 本地仓库,用于存储依赖包。

如上图所示,依次配置完之后,点击Next

location

  • 标注 1Project name,项目名称;
  • 标注 2Project location,项目保存位置;
  • 标注 3More Settings,更多配置,如配置项目模块位置、项目格式等。

如上图所示,我们将Project nameModule name统一命名为gitcode,依次配置完之后,点击Next

start

  • 标注 1.idea,自动生成的 IDEA 配置文件;
  • 标注 2src,自动生成的 Maven 目录结构;
  • 标注 3BUILD SUCESS,Maven 项目创建成功的标志。

如上图所示,当控制台输出BUILD SUCESS的时候,这意味着 Maven 已经创建完成。但是,如果我们仔细观察 IDEA 自动为我们生成的 Maven 目录结构,会发现这与我们认知中的 Maven 项目的目录结构大不相同,它没有与main同级的test目录、没有resources目录、也没有java目录,甚至连源目录都没有标记出来,为啥?实际上,Maven 并没有强制我们必须创建testresourcesjava这样的目录,之所以建立这样的目录结构,仅仅是出于我们的习惯以及方便管理项目而已。接下来,我们就手动创建testresourcesjava这样的结构,并标记javaSources Root,即源目录:

file

如上图所示,以 Mac 电脑为例,依次点击FileProject Structure选项:

structure

如上图所示,在最左边的Project Structure列表中选择Modules,再点击Sources进入我们的项目结构视图,然后点击src目录,右键呼出菜单栏,点击New Folder即可创建新目录:

test

如上图所示,这就是我们新创建的目录结构。

Mark

现在,选择java目录,点击Mark as: Sources即可将java目录标记为源目录:

resource

如上图所示,以同样的方法,我们相继标记了TestsResourcesTest Resources目录,其中webapp目录比较特殊,需要我们将其标记为 Web 的项目的资源目录。在这里,点击gitcode上面的+选项:

Modulejia

  • 标注 1+Add选项;
  • 标注 2Web,项目类型。

如上图所示,依次点击+选项以及Web类型:

descriptor

  • 标注 1:修改按钮;
  • 标注 2:快捷目录选项。

如上图所示,Deploy Descriptor需要指向项目的web.xml文件,一般情况下,默认的目录都是不准确,需要我们重新选择。

directories

  • 标注 1:修改按钮;
  • 标注 2:快捷目录选项。

如上图所示,Web Resources Directories需要指向项目的资源目录即webapp目录,与Deploy Descriptor一样,需要我们重新选择。

success

如上图所示,至此 Maven 项目创建完成,java源目录设置成功。


———— ☆☆☆ —— 返回 -> 史上最简单的 IntelliJ IDEA 教程 <- 目录 —— ☆☆☆ ————


推荐阅读
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • 五、RabbitMQ Java Client基本使用详解
    JavaClient的5.x版本系列需要JDK8,用于编译和运行。在Android上,仅支持Android7.0或更高版本。4.x版本系列支持7.0之前 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 目前Miniconda3的主要版本已经不支持python3.6,以Windows为例,在官网Miniconda—Condadocumentation中只有python3.7 ... [详细]
author-avatar
琴瑟_0203
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有