文档章节

intellij IDEA开发工具项目maven管理

EDIAGD
 EDIAGD
发布于 2013/01/29 23:08
字数 814
阅读 14197
收藏 41

今天自己重新部署一下intellij下的项目开发环境,顺便把maven管理项目jar包的方法梳理一下

(1)首先下载apache-maven-3.0.4版本的maven,我自己解压在D:\maven\apache-maven-3.0.4目录下,这里我要改一下默认的maven的仓库的路径,在D:\maven\apache-maven-3.0.4\conf下,修改setting.xml配置文件,49到54行注释掉,换成 <localRepository>D:/maven/repo</localRepository>这里是我的仓库地址,你可以自己随便放。

(2)配置Maven环境变量M2_HOME为你解压的目录,如下图新建M2_HOME变量并加到Path中

(3)打开开发工具intellij新建一个maven的项目,如图:

项目建好后,目录如下:

 

按照Maven约定,项目的主目录位于/src/main/java中,测试目录位于src/test/java中,所以我们在最终打包项目的时候,只包含主目录代码,不会包含测试目录里的代码,而测试目录里的代码只会在测试时候用到。

最后pom.xml这个文件是我们Maven项目的核心文件,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。

我们打开这个文件看看,

 

<?xml version="1.0" encoding="UTF-8"?>
<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.0</modelVersion>

    <groupId>MavenTest</groupId>
    <artifactId>MavenTest</artifactId>
    <version>1.0</version>

    
</project>

project 是xml文件的根元素
modelVersion 定义了当前POM模型的版本,Maven 2 或Maven 3 只能是4.0.0
griupId 定义了项目属于哪个组,一般来说这个往往和公司或组织关联,比如说,你所在的公司为baishi.那就应该定义为com.baishi.MavenTest,MavenTest为项目名称

 

artifactId定义了当前Maven项目在组中的唯一id,例如MavenTest这个项目,我则把他定义为MavenTest,还例如spring项目,他的groupId为org.springframework,对于content项目来说artifactId则为spring-content,web项目则为spring-web

 

(4)这步之后,我具体拿我的项目来说一下maven管理包的依赖:在intellij工具中,file-setttings-maven

 

看一下,三个配置的位置是否和你的mave相符,一个是maven的安装目录,一个是settings.xml的配置,一个是maven仓库的位置,也是我之前改的仓库的路径

(5)这里我以加入spring框架的依赖举例,在刚才的 pom.xml的核心配置中我们加入:

 

<dependencies>
        <!-- SPRING begin -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
        </dependency>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
        </dependency>
        <!-- SPRING end -->
</dependencies>

(6)接着我们让maven来编译代码,运行一下如图的

 

选中clean、compile并右键点击Run 即可,接着我们在项目的目录下回看到:

以Maven开头的一些jar包,这些就是 maven 管理下载的项目需要的包,到此所有的步骤都完成了。

后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0 

 

© 著作权归作者所有

共有 人打赏支持
EDIAGD
粉丝 48
博文 149
码字总数 58327
作品 0
嘉定
后端工程师
加载中

评论(4)

小鬼俊俊
小鬼俊俊
虽不是最新版本的,大那是大致雷同
liango
liango
[ERROR] 'dependencies.dependency.version'
Macrotea
Macrotea
同上
_凤求凰_
_凤求凰_
好文
Maven 与 IntelliJ IDEA 的完美结合

你是否正在学习Maven?是否因为Maven难用而又不得不用而苦恼?是否对Eclipse于Maven的冲突而困惑? 那么我告诉你一个更直接更简单的解决方案: IntelliJ IDEA! 1. 什么是 Maven,为什么要使用...

Java编程思想
2014/01/02
0
0
Linux开发环境搭建之Intellij Idea安装配置

本文将会在Linux环境下安装使用Intellij Idea开发工具,然后在Idea中配置Maven和Tomcat,如果还没有Maven环境,可以参考《Linux开发环境搭建之Maven安装配置 》一文。 一、环境准备 1.Linxu桌...

MaxBill
05/14
0
0
Java开发工具IntelliJ IDEA是如何导入项目的

用户使用Intellij IDEA进行项目开发,不仅可以创建全新的项目,还可以导入使用其它开发工具设置和开发的项目。 1 选择源目录 点击File → Import Project并指定导入项目所存放的磁盘位置。 ...

答应不爱你
2013/09/18
0
0
IntelliJ IDEA下载及安装教程

IntelliJ IDEA下载及安装教程 分步阅读 IntelliJ IDEA是一款功能强大的开发工具,在代码自动提示、重构、J2EE支持、各类版本工具(如git、svn、github)、maven等方面都有很好的应用。Intelli...

我风依旧
09/18
0
0
IntelliJ IDEA详细配置和使用教程(适用于Java开发人员)

前言 正所谓工欲善其事必先利其器,对开发人员而言若想提高编码效率,一款高效的开发工具是必不可少的,相信看到该博客的朋友们都已经对IntelliJ IDEA有所了解了,所以此处就不对IntelliJ ID...

君千殇520
08/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Redis应用之分布式锁(set)

Redis应用之分布式锁(set) 在单机应用的场景下,我们常使用的锁主要是synchronized与Lock;但是在分布式横行的大环境下,显然仅仅这两种锁已经无法满足我们的需求; 需求:秒杀场景下,有若干...

GMarshal
35分钟前
1
0
python实现简单的文件加密与解密

对于任意的一个文件,本质上来讲都是二进制的。 对于任意一个二进制数a,对其用另外任意一个与a的位数相同的二进制数m进行“异或”操作得到结果e,即e=a xor m; 如果再讲上面得到的e用m进行...

Aomo
37分钟前
1
0
Android开发应用程序生成以太坊钱包

Android应用程序以太坊钱包生成,要做的工作不少,不过如果我们一步一步来应该也比较清楚: 1.在app/build.gradle中集成以下依赖项: compile ('org.web3j:core-android:2.2.1') web3j核心是...

geek12345
52分钟前
1
0
ArrayList嘿嘿嘿

数组扩容技术: //扩容技术 将原数组objs类容复制到新数组并且长度为11 Object[] newObjs = Arrays.copyOf(objs,11); 数组比较大那么System.arraycopy比较有优势,因为其使用的是内存复制,省...

熊猫你好
今天
2
0
Android平台下的一个好用的日历库(sxtwl_cpp),支持农历转公历,和公历转农历等功能

python版的sxtwl_cpp传送入口 在build.gradle的allprojects中加入 maven { url 'https://dl.bintray.com/yuangu/sxtwl' } 最终如下面代码所示: allprojects { repositories { ......

元谷
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部