mvn的简单使用_mvn locale-程序员宅基地

技术标签: junit  eclipse插件  maven  eclipse  dependencies  log4j  

maven2安装
说是安装其实就是下载相关的bin包就可以了
1、首先去官方网站下载之: [url]http://maven.apache.org/download.html[/url],我选择的是截至目前最新版本maven3.0.4版本
2、设置环境变量:Maven2下载完后,我将其解压到我的计算机的d:\maven304下,目录结构如下:
D:\
|--Maven204
|-- bin
|-- conf
|-- core
|-- lib
|-- local

环境变量:(windows下面)
        我的电脑----属性----高级----环境变量,点击“系统变量”下的新建,输入:变量名 MAVEN_HOME; 变量值d:\Maven204,在系统变量列表中找到系统变量path,打开之,在变量值中追加”;%MAVEN_HOME%\bin”,至此环境变量设置完毕。
        检查一下是否已经完成安装,打开dos窗口,输入mvn –v,如果出现以下信息则表示maven2已经安装成功:
X:〉mvn –v
Apache Maven 3.0.4 (r1232337; 2012-01-17 16:44:56+0800)
Maven home: D:\lizx\resource\maven\apache-maven-3.0.4\bin\..
Java version: 1.6.0_22, vendor: Sun Microsystems Inc.
Java home: D:\application\jdk1.6_22\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"
 
三、用maven2创建第一个java工程
1、选择一个根目录,我的java工作目录是D:\eclipse\workspace
2、打开dos窗口采用cd命令进入D:\eclipse\workspace目录下
3、输入下列指令

看到很多的文章直接进行如下的操作了,但是从操作后mvn会在库中下载一批jar包,默认是放到 用户名\Documents and Setting \.m2\repository 下面的,windows一般是C盘
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ~/.m2/repository
   -->

在此之前其实可以修改mvn解压目录下的conf\setting.xml路径,增加
<localRepository>D:\mvn304\repository</localRepository>  
来重新定向以后包的存放位置,因为可能会很大,这样以后mvn下载的,和我们自己放的都可以放到这下面了就

D:\eclipse\workspace>mvn archetype:create -DgroupId=com.efn -DartifactId=study   -----------------------这里是生成的一般的java工程
指令执行完毕会出现如下的目录结构:
study
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java


如果我们要生成mvn 的web工程可以如下操作
mvn archetype:create -DgroupId=com.leelf -DartifactId=mvnproj2_sub_web -DarchetypeArtifactId=maven-archetype-webapp



四、生成eclipse工程文件
我采用的开发工具是eclipse,所以用maven的eclipse参数生成eclipse工程文件。输入如下
1、 采用dos的cd命令进入study目录
2、 输入指令:mvn eclipse:eclipse 如下所示:
D:\eclipse\workspace\study>mvn eclipse:eclipse
指令执行完毕后,发现多了两个文件:.classpath和.project

五、下载maven的eclipse插件
1、打开eclipse
2、打开菜单 help -Software updates-Find and Install
3、选择第二项,进入下一步
4、点击按钮“New Remote Site…”
5、在Name中输入:Maven2,在URL中输入[url]http://m2eclipse.codehaus.org/[/url]
Ok,现在一切都是自动化的,你所需要做的就是等待并按提示按按钮。

六、导入工程
刚才已经生成了eclipse的工程文件,现在导入之。菜单File-import ,
在这里我们可以选则导入mvn--->existing mvn projects 进行选择导入。导入后修改相应的jdk等的编译就可以了

打开study的pom.xml文件,会有如下类似内容:

xml 代码
  1. <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 [url]http://maven.apache.org/maven-v4_0_0.xsd[/url]">  
  2.   <modelVersion>4.0.0</modelVersion>  
  3.   <groupId>com.efn</groupId>  
  4.   <artifactId>study</artifactId>  
  5.   <packaging>jar</packaging>  
  6.   <version>1.0-SNAPSHOT</version>  
  7.   <name>Maven Quick Start Archetype</name>  
  8.   <url>[url]http://maven.apache.org[/url]</url>  
  9. </project>  

注意:有关这个文件的作用和各节点的作用不是本文的描述重点,可以到maven的官方网站查阅 [url]http://maven.apache.org/[/url]目前为止,所有的准备工作都已经就绪,现在我们就以一个主main函数 使用log4jjar包展示下如何导入第三方的jar包

七、搭建架包
每一个java工程都不免使用第三方的架包,Maven的好处就是可以统一管理这些架包,并使多个java工程共享这些架包。我们所需要做的就是按规则编辑pom.xml文件。Maven已经非常智能,使用maven的eclipse插件的向导,只要输入参数就可以将配置文件生成出来。

有两种方式可以采用:
1、自动向导
第一种是采用向导方式并让向导直接去maven的服务器上下载你需要的架包,这种方式存在一定的风险,一来可能maven的服务器上并没有你需要的东东,二来每次智能的maven总是去寻找那并不存在的东东。抛出一大堆红字提示不说,达不到预期目标才是让人郁闷。不过为了保证文档的完整性,还是给出操作步骤。以junit为例(这个东东倒是没有问题,呵呵)当工程的maven被Enable后,弹出菜单的maven2子菜,选择子菜单的“Add Dependency”菜单项,在Query中输入“junit”,向导会自动列出相关列表供选择。选择你最需要的架包,按“OK” 按钮。
如果你的本地仓库已经存在该架包,则向导只在pom.xml加入依赖项信息,pom.xml文件的内容如下
xml 代码
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://[url]www.w3.org/2001/XMLSchema-instance[/url]"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 [url]http://maven.[/url]"apache.org/maven-v4_0_0.xsd>  
  2. <modelVersion>4.0.0</modelVersion>  
  3. <groupId>com.efn</groupId>  
  4. <artifactId>study</artifactId>  
  5. <packaging>jar</packaging>  
  6. <version>1.0-SNAPSHOT</version>  
  7. <name>Maven Quick Start Archetype</name>  
  8. <url>[url]http://maven.apache.org[/url]</url>  
  9. <dependencies>  
  10. <dependency>  
  11. <groupId>junit</groupId>  
  12. <artifactId>junit</artifactId>  
  13. <version>3.8.1</version>  
  14. </dependency>  
  15. </dependencies>  
  16. </project>  
自动导入的经常有错误啥的,就不推荐了啊

2、手工配置
        
        手工配置前还是先介绍一下相关背景知识。首先了解一下jar仓库的概念,maven采用集中化的方式管理架包,凡用maven构建的java工程都可以重用统一管理下的架包,所以必须有一个统一存放jar文件的地方,这就是jar仓库,不论是开发还是部署都会建立一个本地仓库。
现在我们分析一下配置文件pom.xml的结构,以junit为例,格式如下:
xml 代码
  1. <dependencies>  
  2. <dependency>  
  3. <groupId>junit</groupId>  
  4. <artifactId>junit</artifactId>  
  5. <version>3.8.1</version>  
  6. </dependency>  
  7. </dependencies>  
在来看看本地仓库目录结构
Repository
`-- junit
|-- junit
| `-- 3.8.1
| `-- junit-3.8.1.jar
现在大家应该明白了吧,多余的话不说啦。照葫芦画瓢就是。不过注意先建目录后写配置文件,否则一旦保存,智能的插件就马上开始下载了…

现在开始手动建立oracle的jdbc目录并配置文件,首先建立目录结构如下:
Repository
`-- log4j
|-- log4j
| `-- 14
| `-- log4j-1.2.13.jar
如果你手头的jar文件名叫log4j1.2.3.jar,则改为log4j-1.2.3.jar,写配置文件:
xml 代码
  1. <dependency>  
  2. <groupId>log4j</groupId>  
  3. <artifactId>log4j</artifactId>  
  4. <version>1.2.3</version>  
  5. </dependency>  
那么现在一个完整的pom.xml文件如下:
xml 代码
  1. <!-- =============================dependencies================================== -->
      <dependencies>
        <!-- junit的包导入 -->
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>


        <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j-version}</version>
        <scope>compile</scope>
        </dependency>
      </dependencies>
      
       <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <log4j-version>1.2.13</log4j-version>
      </properties>
      

保存之,则发现工程管理透视图发生了一点变化,依此方法再加上jdbc的架包,现在可以开始写程序了,建一个类并添加main函数,编写程序如下:
java 代码
  1. public class App 
    {
    static Logger logger = Logger.getLogger(App.class);
        public static void main( String[] args )
        {
            logger.info("================abcdef=================");
        }
    }

别忘了import相应的包,配置个log4j.properties的文件

八、编译程序
//待加

九、调试程序
//待加

Ok,一切正常!希望你也顺利!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/DR_LF/article/details/7289163

智能推荐

安卓could not find org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0.的解决方法_could not resolve org.jetbrains.kotlin:kotlin-stdl-程序员宅基地

文章浏览阅读9.8k次,点赞3次,收藏4次。记一次自己经常遇到的错误本人小白,第一次写博客,之前自学安卓,在Android Studio中导入别人的项目,报错‘could not find org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0’百度了好多方法,看了很多帖子,都没什么用,总结了一下,这种错误是依赖导入错误,安卓的仓库中有三个依赖:‘google()’、‘jcenter()’、‘ma..._could not resolve org.jetbrains.kotlin:kotlin-stdlib-jre8:1.2.0.

MySQL 核心知识点_mysql的核心内容是什么-程序员宅基地

文章浏览阅读1.2k次。阿里巴巴《Java开发手册》中,对超大分页的解决办法是类似于上面提到的优化方式一.说明:MySQL并不是跳过offset行,而是取offset+N行,然后返回放弃前offset行,返回N行,那当offset特别大的时候,效率就非常的低下,要么控制返回的总页数,要么对超过特定阈值的页数进行SQL改写。 正例:先快速定位需要获取的id段,然后再关联: SELECT a.* FROM 表1 a, (select id from 表1 where 条件 LIMIT 100000,20 ) b wher._mysql的核心内容是什么

黑马程序员——35,泛型应用和Map_map有哪些子类 site:blog.csdn.net-程序员宅基地

文章浏览阅读536次。黑马程序员——泛型应用和Map一:泛型限定----》? 是通配符 表示接收的是P类或者P类的子类的对象(上限) 表示接收的是S类或者S类的父类的对象(下限)举一个例子说明问题: public static void socx( ArrayList a )//打印方法 //可以接收Person类和其子类,这样Pe_map有哪些子类 site:blog.csdn.net

toJSONString in object JSON of type com.alibaba.fastjson.serializer.SerializerFeature*)String_both method tojsonstring in object json of type-程序员宅基地

文章浏览阅读339次。scala在使用JSON.toJSONString报这个错Error:(77, 23) ambiguous reference to overloaded definition,both method toJSONString in object JSON of type (x$1: Any, x$2: com.alibaba.fastjson.serializer.SerializerFeature*)Stringand method toJSONString in object JSON of _both method tojsonstring in object json of type

Springboot+Vue+echatrs下拉框实现_如何在echarts的工具栏中添加一个下拉框-程序员宅基地

文章浏览阅读531次。Springboot+Vue+echatrs下拉框实现一、创建数据库二、创建springboot项目在pom.xml添加相应的依赖,在application.yml连接数据库和配置文件路径。1、pom.xml文件:<?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-i_如何在echarts的工具栏中添加一个下拉框

图像压缩相关内容简介_图像压缩国内外研究现状-程序员宅基地

文章浏览阅读4k次,点赞5次,收藏12次。历史图像压缩的研究起源于20世纪40年代。1948年香农的经典论文《通信的数学原理》中首次提到信息率深圳函数的概念背景在如今这个通信高度发展的时代,图像压缩已经成为一个要求很高的领域。短视频、音视频通话、直播等等,相信这些都是大家每天能都能见到且离不开的东西。多媒体数据,无论是图形、音频还是视频数据,解压时都需要相当大的传输带宽和存储容量;且图像、视频序列和计算机动画的需求以非常高的速度增长,因此有必要研究和分析图像压缩的技术来压缩图像和所有多媒体应用程序,以节省存储和传输时间。如何压缩减少冗_图像压缩国内外研究现状

随便推点

Java高级-云课堂后端项目实战 网易云课堂_网易 云课堂项目-程序员宅基地

文章浏览阅读800次。Java高级-云课堂后端项目实战 网易云课堂课程概述《Java高级开发工程师》课程包含六大专题,分别是高性能编程专题、中间件专题、容器化技术专题、分布式系统开发技术、后端项目实战及网易明星产品项目案例分享。基础知识的深入解读及真实案例的演示讲解,让你学以致用,帮你在工作中解决技术疑惑,同时实现技术突破,成为Java高级开发工程师。本节为专题五网易云课堂后端项目实战证书要求该课程为微专业下课程内容,完成所有六门课程并通过才能拿到微专业合格证书。预备知识具有Java编程基础知识授课大纲第一章 _网易 云课堂项目

Spring Security 认证与授权_spring security认证和授权流程-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏3次。springSecurity 的认证和授权_spring security认证和授权流程

elasticsearch7.1安全验证,输入用户名密码报错(一)_"{\"error\":{\"root_cause\":[{\"type\":\"security_-程序员宅基地

文章浏览阅读1.3w次。错误提示:{“error”:{“root_cause”:[{“type”:“security_exception”,“reason”:“failed to authenticate user [elastic]”,“header”:{“WWW-Authenticate”:"Basic realm=“security” charset=“UTF-8"”}}],“type”:“security_ex..._"{\"error\":{\"root_cause\":[{\"type\":\"security_exception\",\"reason\":\"unable to aut"

uni-app小程序中自定义动态tabbar,同时解决小程序自定义tabbar第一次切换闪烁的问题_uniapp tabbar首次切换闪烁问题-程序员宅基地

文章浏览阅读3.6k次。使用了vuex做自定义动态tabbar,第一次进去小程序切换不会再闪烁完全是意料之外的收获,嘿嘿。第一步,在组件里新建自定义tabbar所需的三个页面、还有自定义tabbar和headertabbar.vue<template> <view class="tabbar"> <view class="" v-for="(item, index) in list" :key="index" @click="tabItemChange(index)">_uniapp tabbar首次切换闪烁问题

目标的力量——《35岁以前成功的12条黄金法则》3个小故事有感_强烈的目标感的故事-程序员宅基地

文章浏览阅读1k次。故事一  我知道一个小男孩立志成功的故事。  小男孩的父亲是位马术师,他从小就必须跟着父亲东奔西跑,一个马厩接着一个马厩,一个农场接着一个农场地去训练马匹。由于经常四处奔波,男孩的求学过程并不顺利。  初中时,有次老师叫全班同学写作文,题目是长大后的志愿。  那晚他洋洋洒洒写了7张纸,描述他的伟大志愿,那就是想拥有一座属于自己的牧马农场,并且仔细画了一张200亩农场的设计图,上面标有马厩、跑道等的位置_强烈的目标感的故事

关于WiFi DFS和WiFi自适应的介绍_dfs信道-程序员宅基地

文章浏览阅读6.9k次,点赞3次,收藏26次。1.关于WIFI DFS介绍 DFS(Dynamic Frequency Selection)动态频率选择,这个概念只针对具有5G频段的产品,比如802.11a和802.11ax标准。DFS是为了使无线产品主动探测军方使用的频率,并主动选择另一个频率,以避开军方频率的一个功能。欧洲在军用雷达普遍使用5G频段,若民用5G产品和军方存在抢波段的行为,则会对军事雷达和通讯产生干扰,因此欧盟法规规定在欧洲出售的无线产品必须具备DFS功能。这个功能是属于强制性的,不符合标准的产品将不会获得欧盟的上市..._dfs信道

推荐文章

热门文章

相关标签