前语:不要为了读文章而读文章,一定要带着问题来读文章,勤思考。

来源:http://1t.click/ag4d

# 前言

本篇开发环境
1、操作系统:Windows 10 X642、Java SDK:jdk-8u1413、Maven:3.54、IDE:IntelliJ IDEA 2017

# 项目创建&运行

1、使用Maven模板创建项目

打开IDEA,选择Create New Project或者通过菜单File->New->Project创建选择Maven,然后选择Maven项目模板maven-archetype-quickstart

2、项目命名与Maven配置

项目Maven坐标信息

在 POM 中,groupId, artifactId, packaging, version 叫作 maven 坐标,它能唯一的确定一个项目。有了 maven 坐标,我们就可以用它来指定我们的项目所依赖的其他项目,插件,或者父项目。

说明
groupId 代表组织和整个项目的唯一标志。比如说所有的Maven组件的groupId都是org.apache.maven。
artifactId 具体项目的名称,它于groupId共同确定一个项目在maven repo中的位置,例如,groupId=org.codehaus.mojo, artifactId=my-project的项目,在maven repo中的位置为:$M2_REPO/org/codehaus/mojo/my-project
version 用于说明目前项目的版本,在引用依赖的时候确定具体依赖的版本号。
packaging 规定项目的输出格式,包括jar、war、pom、apk等,根据实际需要确定。例如,开发一般的java库,可以使用jar packaging;开发android则是apk packaging。

一般 maven 坐标写成如下的格式:

groupId:artifactId:packaging:version

虽然在不将项目提交到Maven官方仓库的情况下,这不是强制约束,但还是建议不论大小项目一律遵守Maven的命名标准。选择Maven配置、仓库等。这个在上一篇中已经配置过。保留默认即可。指定项目名称&项目目录这里的项目名称只做显示使用。跟Maven坐标无关。如果项目文件夹未创建,会提示帮你创建,选择OK之后。IDEA就会进行项目创建&初始化工作

3、项目预览与启动

阅读IDEA使用tips开启Maven Project自动导入项目创建完成后,IDEA识别到这是一个Maven项目,是否导入到项目的IDEA的配置中。选择开启自动导入即可启动应用程序双击打开App.java文件。然后对文件编辑区域唤出鼠标右键菜单,选择Run App.main();
或者直接使用快捷键Ctrl+Shift+F10,IDEA会自动帮你创建调试配置并启动应用程序。运行结果在IDEA底部的console面板。
(当然也可以通过运行AppTest来运行单元测试)
到这里,就完成了使用IntelliJ IDEA+Maven 创建,运行的第一个项目

# 项目结构说明

1、根目录说明

目录/文件 说明(ken.io)
.idea IDEA配置文件目录
src 源文件文件目录(源代码、静态资源等等)
target 编译输出目录,用于存放编译后的文件(类文件,war包jar包等)。
helloworld.iml IDEA用于记录Module配置的文件
pom.xml Maven Project配置文件
External Libraries 用于查看Project的依赖

在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。一个 Project 可以有多个 Module。目前主流的大型项目结构都是类似这种多 Module 结构,比如我们的项目可以划分为helloworld-app,helloworld-utils,helloworld-model等等,Module之前可以互相依赖。而Project是一个抽象个概念,Project由一个或者多个Module组成。Project跟Module之间的关系由pom.xml来配置,Module之间的依赖由Module文件夹中的pom.xml来配置。

2、源文件目录说明

目录/文件 说明(ken.io)
src/main 项目主目录
src/main/java 项目的源代码所在的目录(Sources Root)
src/main/resources 项目的资源文件所在的目录(Resources Root)
src/main/filters 项目的资源过滤文件所在的目录
src/main/webapp web项目的配置、视图等目录
src/main/java/io.ken.helloworld io.ken.helloworld是module的默认package,Maven的规范
src/test 项目测试目录(Sources Root)
src/test/java 测试代码所在的目录(Resources Root)
src/test/resources 测试相关的资源文件所在的目录
src/test/filters 测试相关的资源过滤文件所在的目录

大多数情况下,一个项目都只有一个Module构成,需要进行分层都会通过package来完成。
例如:

3、pom.xml 文件说明

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0modelVersion>  <groupId>io.ken.helloworldgroupId>  <artifactId>helloworldartifactId>  <version>1.0-SNAPSHOTversion>  <packaging>jarpackaging>  <name>helloworldname>  <url>http://maven.apache.orgurl>  <properties>    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>    <junit.version>3.8.1junit.version>  properties>  <dependencies>    <dependency>      <groupId>junitgroupId>      <artifactId>junitartifactId>      <version>${junit.version}version>      <scope>testscope>    dependency>  dependencies>project>
参数 说明
modelVersion Maven配置版本
groupId 代表组织和整个项目的唯一标志。比如说所有的Maven组件的groupId都是org.apache.maven。
artifactId 具体项目的名称,它于groupId共同确定一个项目在maven repo中的位置,例如,groupId=org.codehaus.mojo, artifactId=my-project的项目,在maven repo中的位置为:$M2_REPO/org/codehaus/mojo/my-project
version 用于说明目前项目的版本,在引用依赖的时候确定具体依赖的版本号。
packaging 规定项目的输出格式,包括jar、war、pom、apk等,根据实际需要确定。例如,开发一般的java库,可以使用jar packaging;开发android则是apk packaging。
name 项目显示名称
url 项目地址
properties 用于定义变量,可以在当前配置文件pom.xml,以及子Module的pom.xml中引用,引用方式:${propertyname},例如:${junit.version}
dependencies 用户配置Module的依赖

# 备注

IntelliJ IDEA+Maven 创建、开发管理项目,本篇文章就写到这里。热文推荐从IDEA角度来看懂UML图困扰已久的问题,开发到底是产品的用户还是战友?IntelliJ IDEA 2019.3要起飞了,主要解决这些痛点...同时,分享一份Java面试资料给大家,覆盖了算法题目、常见面试题、JVM、锁、高并发、反射、Spring原理、微服务、Zookeeper、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 面试 领取。

apache geode项目结构_使用IntelliJ IDEA+Maven 创建、开发、管理项目相关推荐

  1. idea maven创建java项目_新版本IntelliJ IDEA 构建maven,并用Maven创建一个web项目(图文教程)...

    之前都没试过用maven来管理过项目,但是手动找包导包确实不方便,于是今天用2016版的IDEA进行了maven的初尝试. 打开IDEA,创建新项目: 然后选择Maven,以及选择自己电脑的jdk: ...

  2. maven创建父子依赖项目—pom

    maven创建父子依赖项目 maven创建父子依赖项目: 参考思路: 思维图: 三种项目示例: jar:控制台项目: war:web项目: war:web项目:(待写) 案例:横向拆分(按照项目结构进 ...

  3. Maven3路程(六)用Maven创建Spring3 MVC项目

    Maven3路程(六)用Maven创建Spring3 MVC项目 一.      环境 spring-framework-3.2.4.RELEASE jdk1.7.0_11 Maven3.0.5 ec ...

  4. 用maven创建Spring MVC项目

    用maven创建Spring MVC项目 mvn archetype:generate -DgroupId=fry-arthur -DartifactId=spring-mvc-study -Darc ...

  5. boot sprint 项目结构_京淘项目03 08.28

    JSP动态web资源,打war包 ##spring boot整合JSP 创建项目 spring SpringBoot整合web资源,, 在main文件下,新建webapp文件夹,,把WEBINF目录粘 ...

  6. idea14创建java项目_使用IntelliJ IDEA 14和Maven创建java web项目

    安装Maven 下载安装 去maven官网下载最新版. 解压到安装目录. 配置 右键桌面的计算机图标,属性–>高级系统设置–>环境变量,添加M2_HOME的环境变量,然后将该变量加入的PA ...

  7. jekenis父子结构项目打包_全栈之DevOps系列 - 发布 Python 项目 开源/私有 包

    DevOps目前并没有权威的定义,普遍认为,DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快.更频繁地交付更稳定的软件. 作者以 dukepy 系 ...

  8. idea编译项目 失败_在IntelliJ IDEA下使用Lombok时无法编译项目

    我正在尝试使用IntelliJ IDEA 11开发的项目中使用Lombok. 我已经为IDEA安装了3rd-party插件,由于IDEA可以看到所有自动生成的方法/字段,因此似乎工作正常. 所以我有一 ...

  9. boot sprint 项目结构_完美起航-【知识】SpringBoot项目结构目录

    Spring boot 目录结构 一.主要目录 目录名称相对路径主要用途源码目录src\main\java存储源码 资源目录src\main\resources存储静态资源.动态页面.配置文件 测试目 ...

最新文章

  1. 仅需10分钟:开启你的机器学习之路
  2. Flutter 基础Widgets Text()之TextStyle详解
  3. Ambari 2.6.0 HDP 2.6.3集群搭建
  4. SAP CRM Fiori Opportunity应用功能一览
  5. java如何加载lambda_Java 8 lambda表达式引入及简单使用
  6. html鼠标悬停位置,html – 当我将鼠标悬停在其上时,我想隐藏图像并在其位置显示文本...
  7. 面经-hangzhou
  8. 将R Markdown文档变成互动体验
  9. keil5安装教程简单易上手
  10. g5500服务器装系统,联想G50笔记本U盘重装win10系统教程
  11. 【报错记录】解决Shell脚本报ambiguous redirect
  12. elementui 描述列表Descriptions组件宽度修改
  13. 【算法设计与分析】三个博弈论算法分析
  14. 基于VUE+H5PLUS 实现app交互蓝牙打印机得功能
  15. 地理位置坐标标准以及转换
  16. CenterNet:Objects as Points代码解析(九):通过高斯函数画热点图
  17. 常见HTTP/FTP/WebSockets状态码大全
  18. vue兼容IE11浏览器空白页等一系列问题之踩坑全过程
  19. element-联动下拉框
  20. c语言两千行以内代码,C语言的教务管理系统(2000行代码)(106页)-原创力文档

热门文章

  1. 计算机算法设计与分析 最大子数组问题
  2. numpy中的argpartition
  3. 使用Apache FtpServer
  4. 2015年辽宁省赛Interesting Tree
  5. 在markdown (csdn)博客上输出 右下小标,右上小标。
  6. 【CVTE Web后台开发实习生 线下面试】总结
  7. 【算法导论】贪心算法,递归算法,动态规划算法总结
  8. HTML5按键打开摄像头和拍照
  9. PipedInputStream/PipedOutputStream
  10. 聊聊、Spring 第二篇