`

Maven介绍(创建工程项目以及下载所需要的jar包)

 
阅读更多
原文http://blog.csdn.net/guanghua2009/article/details/6644111

1  Maven包的下载路径:

http://maven.apache.org/download.html

安装maven
2 Maven创建项目工程架构的命令

进入commond line,cd到一个目录

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp

cd 到项目目录my-webapp下。

mvn package
mvn eclipse:eclipse

打开eclipse,导入。
3 Maven下载所需jar包的方法

用 了Maven,所需的JAR包就不能再像往常一样,自己找到并下载下来,用IDE导进去就完事了,Maven用了一个项目依赖 (Dependency)的概念,用俗话说,就是我的项目需要用你这个jar包,就称之为我的项目依赖你这个包,换句话说,你这个JAR包就是我这个项目 的Dependency。
      于是很多人在刚用Maven的时候,就会在加Dependency时栽跟头,明明我手头上就有需要的JAR嘛,它偏不让我用,什么道理,跟着就是生闷气, 少点耐性的,就会说Maven怎么怎么不爽,其实,如果你理解了Maven的一些机制,一些配置及管理的流程,就会觉得它其实很爽。
      我暂且不谈Maven的长篇概念(其实我也还很多很多不懂),我先给大家介绍一个简单的查找方法,让你很快地找到所需的Dependency,并配置到你的pom.xml里面去。
最快捷方法:
GOOGLE搜索:maven 你需的jar包名称 repository
比如我要做EJB,我要找jboss-j2ee.jar的Dependency

就在GOOGLE里输入
maven jboss-j2ee repository
在结果的第一条,进去你就可以在页面里找到下面这段
<dependency>
    <groupId>jboss</groupId>
    <artifactId>jboss-j2ee</artifactId>
    <version>4.0.2</version>
</dependency>

你把上面这段代码贴到你的Maven项目的pom适当的位置去,然后运行maven,Maven就会自动下载所需的jar及相关的pom信息,你不用管它,Maven会帮你下载,并放到适当的位置。
我再举几个查找实例,让大家熟悉一下怎么搜索
下面我要找 struts.jar

在GOOGLE里输入

maven struts repository

就很快可以找到下面这段代码

<dependency>
    <groupId>struts</groupId>
    <artifactId>struts</artifactId>
    <version>1.2.9</version>
</dependency>

我还要找hibernate

在GOOGLE输入

maven hibernate repository

在结果的第一条记录出现了很多个不同的hibernate链接(因为有很项目用了hibernate嘛)我们就选用org.hibernate的,看起来专业点嘛,呵呵

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.2.6.ga</version>
</dependency>

好了,SSH可不能少了中间那个S,Spring嘛

在GOOGLE里输入

maven spring repository

在第一个结果进去,我们这次选择org.springframework的,

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring</artifactId>
    <version>2.5.5</version>
</dependency>

      其它的我就不一一举例了,大家自己试试,其实这个方法可以解决大多数常用包的Dependency查找,不用专门记那些repository下载站的网址 嘛,不过始终这是非正规做法,其它要想更好地找到想要的Dependency,还是得了解maven repository是啥玩意,它的local repository库概念,以及怎样建立自己自己repository服务器(这个我还不太熟,这里就不讲了,大家自己去其它地方找相关资料,免得被我 误导了)

      Maven的repository,说白了就是dependency的仓库,它按照一定的规则将dependency存放起来,以作缓存,如果本机的 repository找不到某个dependency,它就会自动去找到网上其它相关联的repository,找到的话将其下载至本地,那么下次它就不 再去其它地方下载了,直接从本地获取。

本地的repository在哪可找到?

默认repository地址:当前用户的私人目录 + .m2

如果你设置了Maven目录下的conf/setting.xml的local repository属性,则不再是默认的repository地址,而使用你指定的地址。

找到下面这段,将它复制一份,放到注释外面,改成你自己的repository路径即可

<localRepository>c:\mvn repository\</localRepository>

Maven按什么规则去存放Dependency?

下面我们来拿hibernate来作例子,以介绍在Maven运行并下载到所需的Dependency后怎么缓存到本地的repository

下面这个是hibernate的Dependency配置

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.2.6.ga</version>
</dependency>

它被下载后将会被存放至

%repository%\org\hibernate\hibernate\3.2.6.ga\hibernate-3.2.6.ga.jar

其中%repository%就是你本地的repository目录!

不知大家看出来了没有,它是按你的Dependency的groupid + artifactid + version,然后以点号作分隔,来建立文件夹的,最后建立的文件夹如下

|--org

    |--hibernate

        |--hibernate

            |--3.2.6.ga

                |--hibernate-3.2.6.ga.jar

可能会有些人会问那个jar包的名字是怎么来的,细心的人或许早己观察出来了,没错,就是artifactId + "-" + version + ".jar"。

好了,下面我们按这个规则去找一下另外一个Dependency放在哪吧

<dependency>

    <groupId>com.google.gwt</groupId>

    <artifactId>gwt-servlet</artifactId>

    <version>1.4.61</version>

</dependency>

我 们现在根据之前所讲的规则,先进入你的本地repository目录,然后进入com目录,再进入google目录,再进入gwt目录,再进入 gwt-servlet目录,再进入1.4.61目录,跟着你就可以发现一个名叫gwt-servlet-1.4.61.jar和其它一些文件了大家试试 看吧!《注意:你在首次使用这个Dependency时,一定要运行Maven,让它去下载到需要的包,下载成功后你才能按上面的步骤找到,不然你找不到 别乱骂我,你都没下载的话,肯定找不到了:(       》

      在你掌握这个技巧之后,有很多时候你可以根据所需包的package路径,自己摸它的Dependency,这个就不详谈了,总之你了解后,找Dependency不会成问题的,非常简单的事

      这个时候,就有另一些用户会提出疑问,我要用的jar包是我自己开发的,或是朋友,或是网友传来的,在网上根据找不到,怎么在Maven里面使用它们呢? 其实办法是肯定有的,而且也不难,也是常常要用到的,下面我来简单介绍一下几个方法:

前提,肯定是你先写到pom里面去,组织随你写,artifact 写你的jar名,或者随便写,version你也写上你想要的,如

<dependency>

    <groupId>com.mydomain.ooooo</groupId>

    <artifactId>my-jar</artifactId>

    <version>100.1.1</version>

</dependency>

一、用好你的IDE!

      现在大家用的IDE,无非就是Eclipse,或者netbeans,或是JBuilder,据我所知,现在大部份人都向前两者转移,这些IDE都提供了 对Maven的支持,不过通常都需要你装插件才能打开并使用Maven的项目,怎么装maven插件我就不介绍了,大家自己上网找找别人写的文章吧。在你 装好插件后,通常会有一个libraies目录,里面列出你项目要用到的jar包,你右键点击本地还没有添加进去的jar包,选择本地安装 (Manually install artifact),选中你那个特殊的jar包,然后IDE会自动调用maven插件完成整个安装配置过程,下次你就不再这样子做了,因为你本地 repository己经有了。

二、手动将jar包放到本地repository里面去

根据先前介绍的maven repository存放规则,自己建好目录,改好jar的文件名,自己拷进去,如

进到你本地的repository目录

建一个com文件夹,点进去

再建一个mydomain文件夹,点进去

再建一个ooooo文件夹,点进去

再建一个my-jar文件夹,点进去

再建一个100.1.1文件夹,点进去

再把你的jar包,改名为my-jar-100.1.1.jar,放到100.1.1文件夹里面去,

       然后运行你的maven项目,看看它会不会build成功,事实上如果你之前做的文件夹没错,大小写没问题,或没其它小失误,你的项目就可以正常用到你自己的jar包了

三、直接到http://repo1.maven.org/maven2/ 查找

      不过这也需要你知道maven repository的存放规则才知道怎么在网站上找,找到你还得自己写dependency的配置代码,本人不常来这里找。不过各有所好,大家选择合适自己的
4 Maven常用命令

mvn compile
编译主程序源代码,不会编译test目录的源代码。第一次运行时,会下载相关的依赖包,可能会比较费时。

mvn test-compile
编译测试代码,compile之后会生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下。

mvn test
运行应用程序中的单元测试

mvn site
生成项目相关信息的网站

mvn clean
清除目标目录中的生成结果

mvn package
依据项目生成 jar 文件,打包之前会进行编译,测试。

mvn install
在本地 Repository 中安装 jar。

mvn eclipse:eclipse
生成 Eclipse 项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录。
5 Eclipse中配置Maven

加入M2_REPO

    进入Eclipse->preferences->java->build path->classpath variables,添加M2_REPO这个变量,指向C:/Documents and Settings/userName/.m2/repository,这个路径是默认的Maven仓库,如果你想搬到其他地方,需要修改 maven\conf\setting.xml里面的localRepository。

配置String Substitution

    通过配置String Subsitution我们就可以使用Eclipse的lanuch来启动Maven,而不是Eclipse插件启动。首先我们要告诉Eclipse Maven在哪里。配置Eclipse->preferences->Run/Debug->String Subsitution,加入mvn = D:/dotj_dev/tools/apache-maven-2.2.1/bin/mvn.bat。



留下个:m2Eclipse插件,安装Maven

    http://wenku.baidu.com/view/fdf1220302020740be1e9bd3.html
分享到:
评论

相关推荐

    在eclipse中不使用maven创建springboot工程所需jar包

    在不使用Maven的情况下,在Eclipse中创建Spring Boot工程,你需要手动管理依赖的jar包。以下是一些关于这些jar包及其在Spring Boot项目中的作用的关键知识点: 1. **jboss-logging-3.3.0.Final.jar**:这是一个日志...

    springBoot非maven项目所需jar包

    电脑暂时没有装maven,最近突发奇想,向在搭建一个spring boot非maven项目,折腾了两个小时,下载jar包冲突问题居多,最后结合网上博客,整理了一份spring boot所需的jar包,亲测没有问题

    如何用IntelliJ IDEA新建web项目,用maven打包成.jar

    idea新建maven web项目.zip Jetbrains IntelliJ IDEA创建基于maven打包工具的WEB网站项目 本项目使用的是SSM框架spring mvc,spring, mybatis.用maven打包成jar

    idea使用maven创建web项目详细教程

    创建好的 Maven 工程是一个普通的 Java 项目,而不是 Web 项目,所以需要进行改造。在 main 目录下创建一个 webapp 文件夹,然后选择 project Structure --&gt; facets--&gt; 点击 + 号添加 web 项目,选择当前工程 hello_...

    springboot+maven打包demo【将依赖与配置文件打包到jar包外部】

    在本文中,我们将深入探讨如何使用Spring Boot和Maven来构建一个项目,使得依赖和配置文件被打包到jar包外部,以实现更加灵活的项目管理。这个方法对于那些需要根据不同环境进行定制配置或者频繁更新配置的应用来说...

    项目中需要的一些jar包资源

    总的来说,这个“项目中需要的一些jar包资源”可能包含JavaMail API以及其他与邮件处理相关的类库,为Java开发者提供了一站式的邮件解决方案。通过熟练掌握这些知识点,开发者能够有效地实现邮件服务功能,提升项目...

    maven工程创建时仓库不能自动下载JAR解决办法

    maven工程创建时仓库不能自动下载JAR解决办法

    springboot工程jar包加密

    1. **安装xjar**:首先需要下载xjar的最新版本,并将其添加到系统路径或者项目构建工具(如Maven或Gradle)的依赖中。 2. **创建加密配置**:定义加密策略,包括选择加密算法、设置密钥等。这通常通过xjar的配置...

    Maven创建Java工程

    ### Maven创建Java工程项目详解 Maven作为Java世界中广受欢迎的构建工具,其强大的功能不仅限于项目的构建,还涵盖了依赖管理、项目信息管理和构建生命周期等多个方面。通过Maven,开发者能够高效地创建、构建和...

    手动创建maven工程

    本资源提供了一个手动创建的Maven工程示例,有助于初学者理解和掌握如何从零开始构建Maven项目。 首先,我们要理解Maven的核心概念——Project Object Model (POM)。POM是Maven项目的基本配置单元,包含了项目信息...

    javax.mail-1.6.0.jar包及移入maven仓库语句

    将`javax.mail-1.6.0.jar`添加到Maven仓库可以使其他依赖该项目的Maven工程方便地引用此库。以下是将此库添加到Maven仓库的步骤: - 首先,你需要在本地Maven仓库的`repository`目录下创建`javax/mail/1.6.0`...

    ​实现maven项目中多版本依赖兼容使用解决方案

    在本案例中,公司需要使用一个第三方接口的加密jar包,该jar包内部依赖的高版本与现有项目框架中的低版本冲突。以下是如何实现Maven项目中多版本依赖兼容的解决方案: 1. **理解Maven依赖管理**: Maven依赖管理...

    Maven构建项目文档

    这篇文档将详细介绍如何在 MyEclipse 中导入 Maven 项目以及使用 Maven 的常见命令。 首先,要在 MyEclipse 中导入 Maven 项目,你需要通过以下步骤操作: 1. 右键点击 MyEclipse 左侧的项目视图空白区域。 2. ...

    Java+IDEA+Maven混淆打包

    在IT行业中,开发Java应用程序时,我们经常需要将代码打包成可执行的JAR文件,以便于部署和分发。本教程将详细讲解如何在IntelliJ IDEA(IDEA)中利用Maven进行混淆打包,确保代码的安全性并提高可维护性。 首先,...

    搭建maven工程

    包括删除父工程多余文件、修改子模块的运行环境为本机的 JDK 环境、统一由父工程管理 jar 包依赖和插件等。 目录结构 Maven 工程的目录结构非常重要,一个良好的目录结构可以提高项目的可维护性和可读性。Maven ...

    maven多模块项目工程-已搭建好

    在`pom.xml`中,通过`&lt;dependencies&gt;`标签声明这些依赖,Maven会自动解决并下载所需的依赖库。 5. **构建与打包**:Maven提供了统一的构建生命周期和命令,如`mvn clean`用于清理构建产物,`mvn compile`用于编译源...

    SpringBoot+maven构建Web项目(Maven父子工程)

    本文将详细介绍如何使用SpringBoot和Maven构建一个Web项目,并通过父子工程的方式来组织项目结构。 首先,理解Maven的父子工程结构至关重要。在大型项目中,通常会采用多模块的架构,以便于代码的管理和维护。父子...

    Maven使用命令创建工程,打包工程和常用命令使用的代码文件

    本篇文章将深入探讨如何使用Maven命令来创建工程、打包工程以及掌握一些常用的Maven命令。 首先,让我们了解Maven的核心概念。Maven基于项目对象模型(Project Object Model,POM),这是一个XML文件,包含了项目的...

    普通的IDEA maven java项目demo(hello word)-1.8

    标签“java”、“maven”和“项目文件包”进一步确认了项目的性质,表明它包含了与Java编程、Maven构建工具以及项目结构相关的文件。 首先,我们来了解一下Java。Java是一种广泛使用的面向对象的编程语言,由Sun ...

    使用Maven控件proguard-maven-plugin给可执行jar文件混淆

    要使用`proguard-maven-plugin`,我们需要在项目的`pom.xml`文件中添加插件配置。以下是一个基本的配置示例: ```xml ... ... &lt;groupId&gt;com.github.wvengen&lt;/groupId&gt; &lt;artifactId&gt;proguard-maven-...

Global site tag (gtag.js) - Google Analytics