`
weiqiang.yang
  • 浏览: 156560 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

[MAVEN]maven使用初步

阅读更多
   163的博客不适合用来作为技术博客,因为博客不支持code标签,贴个代码会很混乱,而且163的博客很少技术文章,收藏一些东西也很麻烦,以上提到的两点不足在javaeye上都完美解决了,所以,我决定还是把技术类的博客记录迁移到javaeye好了 

   maven这东西,迟早还是得用的

1. maven安装
   没啥好说的,http://maven.apache.org/下载安装就是,设置Path,命令行下执行mvn -version能ok就行了

2. 与eclipse集成
   设置M2_REPO变量,指向本地仓库
   有空就再装个m2eclipse插件呗,反正我的网速慢,是没空装了。。。几十M呢

3. maven创建项目
   一般的做法都是
   mvn archetype:create -Dxxx

   参数太多,记不住,而且运行会出现提示
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead

   就是说人家maven都不推荐用这种方式来创建项目了,那还是不要折腾自己了,还是用generate吧
mvn archetype:generate

   它是交互式的项目创建过程,参数都很好理解
   顺便将项目转成eclipse项目,方便导入到eclipse中
mvn eclipse:eclipse

   完事之后目录大概是这样的,我创建的是simple j2ee项目
|   pom.xml
|   .classpath
|   .project
|
+---src
|   +---main
|   |   +---java
|   |   |   \---com
|   |   |       \---xx
|   |   |           \---simple
|   |   |                   App.java
|   |   |                   SimpleTest.ja
|   |   |
|   |   \---resources
|   |           log4j.properties
|   |
|   \---test
|       \---java
|           \---com
|               \---xx
|                   \---simple
|                           AppTest.java
|
\---target
    +---test-classes
    |   \---com
    |       \---xx
    |           \---simple
    |                   AppTest.class
    |
    \---classes
        |   log4j.properties
        |
        \---com
            \---xx
                \---simple
                        App.class
                        SimpleTest.class


4. 关于pom.xml
   我觉得maven最好用的就是jar包的管理,不在需要自己去到处搜jar,直接扔到dependency里面就ok,可是现在问题又来了,比如我需要某个jar包,那我怎么知道这个包的groupId和artifactId分别是什么呢?不知道这些信息,那就没法加dependency了
   这是我的sample项目pom.xml,难道这些dependency只能靠收集了?
<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.xxx.simple</groupId>
  <artifactId>simple</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>simple</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.simpleframework</groupId>
      <artifactId>simple-xml</artifactId>
      <version>2.1.3</version>
    </dependency>
   <!--log4j jar is required-->
    <dependency>
     <groupId>log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>1.2.14</version>
    </dependency>
  </dependencies>
</project>


好吧,只好去网上搜个pom.xml,看他们的dependency是怎么写的了

5. maven tomcat plugin
   配置tomcat plugin
<plugin>                 
    <groupId>org.codehaus.mojo</groupId>                 
    <artifactId>tomcat-maven-plugin</artifactId>  
</plugin> 

  然后就可以执行
   mvn tomcat:run

启动tomcat了,不用打包再部署,那太慢,不过我还是习惯在eclipse下用tomcat的,配个context就好了

6. 刚收集了一些maven的其他信息
validate,验证工程是否正确,所有需要的资源是否可用。 
compile,编译项目的源代码。 
test-compile,编译项目测试代码。 
test,使用已编译的测试代码,测试已编译的源代码。 
package,已发布的格式,如jar,将已编译的源代码打包。 
integration-test,在集成测试可以运行的环境中处理和发布包。 
verify,运行任何检查,验证包是否有效且达到质量标准。 
install,把包安装在本地的repository中,可以被其他工程作为依赖来使用 
deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。 
generate-sources,产生应用需要的任何额外的源代码,如xdoclet。

还有据说
mvn dependency:tree

可以看到各个jar的依赖关系树

6. 提取项目的所有依赖包到某个目录
   当要给没有装maven的人传项目的时候,这个就有用了
mvn dependency:copy-dependencies -DoutputDirectory=lib


6.5. 利用maven下载jar相应的源代码,这样eclipse就可以debug进去了
mvn dependency:sources


7. 相关资料链接
   maven热部署web应用
   mvn各种插件的详细说明
0
0
分享到:
评论
1 楼 weiqiang.yang 2009-09-03  
终于找到了,如果不知道某个包的groupId和artifactId,那么到这里搜一下
引用
http://mvnrepository.com

搜出来点进去可以看到dependency都帮你写好了,copy来就ok

相关推荐

    maven压缩包,apache-maven-3.3.9 ,apache-maven-3.5.3,apache-maven-3.6.1

    - **插件系统**:Maven使用插件执行各种构建任务,如编译、测试、打包、部署等。 - **生命周期**:Maven定义了一套标准的构建生命周期,如compile、test、package、install和deploy阶段。 - **继承和聚合**:项目...

    maven初步安装使用教程.txt

    maven安装与配置

    maven的使用说明, 非常详细,非常有用

    通过上述步骤,不仅完成了Maven的基本安装与配置,还初步了解了如何使用Maven创建简单项目。后续可以继续深入学习Maven的各种功能,如依赖管理、构建生命周期、插件使用等,以便更好地应用于实际开发中。

    maven3.0.4学习教程

    2、 Maven 初步 2.1. 安装 安装 Maven 需要下载对应版本的二进制包,解压后将其路径添加到系统的环境变量PATH中,确保可以在命令行中直接执行mvn命令。 2.2. 配置本地仓库 Maven 使用本地仓库存储下载的依赖库,...

    maven的初步讲解

    maven的初步认识 以及安装详情。

    Maven的HelloWorld程序

    总的来说,通过创建一个简单的Maven HelloWorld程序,我们可以初步了解Maven的基本概念和工作流程,这对于后续更复杂的项目构建将大有裨益。在实际开发中,Maven还能帮助我们管理各种依赖,自动化构建过程,并与持续...

    maven如何使用 Jenkins 通过 Maven 构建简单 Java 应用程序的入门教程

    **阅读建议**:建议读者具备基本的 Java 开发和 Maven 使用经验,对持续集成有初步了解。先按照教程中的步骤完成 Jenkins 和 Maven 的安装配置,然后创建一个简单的 Java 项目,并将其配置为 Maven 项目。在 Jenkins...

    Maven搭建Grpc项目详细流程附加grpc—java简单demo

    在本文中,我们将详细介绍如何使用Maven来搭建一个gRPC Java项目,并提供一个简单的示例。gRPC是一个高性能、开源的通用RPC框架,它利用Protocol ...但这个例子足以让你对gRPC和Maven的结合使用有一个初步的了解。

    Maven 3 入门 -- HelloWorld

    通过这个简单的 HelloWorld 示例,你已经对 Maven 有了初步的了解。随着经验的积累,你会发现 Maven 在大型项目中的价值不可估量,它简化了项目构建,促进了团队协作,并且与许多其他工具和框架无缝集成。

    maven3的教程

    二、Maven初步 1. 安装:首先,你需要下载Maven的最新版本(如Maven3.0.4),解压缩到指定目录,并将bin目录添加到系统环境变量PATH中,以便在命令行中直接使用mvn命令。 2. 配置本地仓库:Maven默认在用户主目录的`...

    Maven快速上手

    ** Maven快速上手指南 ** Maven是一款强大的Java项目管理工具,它可以...通过以上内容,你应该对Maven有了初步了解。实践是掌握Maven的关键,尝试创建项目、管理依赖、运行构建,你将更深入地理解Maven的强大之处。

    Mycelipse9下整合springMVC和mybatis的maven项目

    在介绍如何在Mycelipse9下整合springMVC和mybatis的maven项目之前...通过此文档的详细步骤,即便是刚走出校园的新人也能逐步熟悉并掌握如何在Mycelipse9中使用Maven构建整合了SpringMVC和Mybatis的企业级Java Web项目。

    maven项目中的EL表达式问题

    在完成初步搭建之后,决定将其转换为Maven项目以利用Maven的强大功能。然而,在转换过程中遇到了一个问题:JSP页面中的EL表达式没有被正确解析,而是原样输出。这显然是不正常的。 #### 三、问题定位与分析 经过...

    如何做Maven的第一个小程序.doc

    通过这个简单的示例,你应该对Maven的工作方式和基本概念有了初步了解。Maven的强大之处在于它能够自动化处理构建过程,包括依赖管理、编译、测试、打包、部署等一系列任务,极大地提高了开发效率。继续深入学习...

    spring使用maven

    在描述中提到“适合于maven学习初步阶段的学习者参考”,这意味着我们将关注基础的Maven概念和操作,如创建Maven项目、理解`pom.xml`结构、执行Maven命令(如`mvn clean install`来构建和安装项目)、以及使用Maven...

    sonatype官方文档Maven by Example

    通过以上介绍,我们对 Maven 的基本概念和使用方法有了初步的了解。Maven 通过其约定优于配置的设计理念和丰富的插件生态系统,极大地简化了 Java 项目的构建过程,提高了开发效率。对于初学者来说,掌握 Maven 的...

Global site tag (gtag.js) - Google Analytics