`
onlydo
  • 浏览: 168363 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

maven使用

阅读更多
1. 下载解压到指定目录,并设置环境变量M2_HOME,并把bin添加到PATH变量中。
2. 修改本地repo,修改maven-home/conf/settings.xml文件
   内容如下:
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!--
 | This is the configuration file for Maven. It can be specified at two levels:
 |
 |  1. User Level. This settings.xml file provides configuration for a single user, 
 |                 and is normally provided in $HOME/.m2/settings.xml.
 |
 |                 NOTE: This location can be overridden with the system property:
 |
 |                 -Dorg.apache.maven.user-settings=/path/to/user/settings.xml
 |
 |  2. Global Level. This settings.xml file provides configuration for all maven
 |                 users on a machine (assuming they're all using the same maven
 |                 installation). It's normally provided in 
 |                 ${maven.home}/conf/settings.xml.
 |
 |                 NOTE: This location can be overridden with the system property:
 |
 |                 -Dorg.apache.maven.global-settings=/path/to/global/settings.xml
 |
 | The sections in this sample file are intended to give you a running start at
 | getting the most out of your Maven installation. Where appropriate, the default
 | values (values used when the setting is not specified) are provided.
 |
 |-->
<settings>
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ~/.m2/repository
   -->
  <localRepository>D:\installed\maven-2.0.7\repository</localRepository>
  

  <!-- interactiveMode
   | This will determine whether maven prompts you when it needs input. If set to false,
   | maven will use a sensible default value, perhaps based on some other setting, for
   | the parameter in question.
   |
   | Default: true
  <interactiveMode>true</interactiveMode>
  -->

  <!-- offline
   | Determines whether maven should attempt to connect to the network when executing a build.
   | This will have an effect on artifact downloads, artifact deployment, and others.
   |
   | Default: false
  <offline>false</offline>
  -->

  <!-- proxies
   | This is a list of proxies which can be used on this machine to connect to the network.
   | Unless otherwise specified (by system property or command-line switch), the first proxy
   | specification in this list marked as active will be used.
   |-->
  <proxies>
    <!-- proxy
     | Specification for one proxy, to be used in connecting to the network.
     |
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net,some.host.com</nonProxyHosts>
    </proxy>
    -->
  </proxies>

  <!-- servers
   | This is a list of authentication profiles, keyed by the server-id used within the system.
   | Authentication profiles can be used whenever maven must make a connection to a remote server.
   |-->
  <servers>
    <!-- server
     | Specifies the authentication information to use when connecting to a particular server, identified by
     | a unique name within the system (referred to by the 'id' attribute below).
     | 
     | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are 
     |       used together.
     |
    <server>
      <id>deploymentRepo</id>
      <username>repouser</username>
      <password>repopwd</password>
    </server>
    -->
    
    <!-- Another sample, using keys to authenticate.
    <server>
      <id>siteServer</id>
      <privateKey>/path/to/private/key</privateKey>
      <passphrase>optional; leave empty if not used.</passphrase>
    </server>
    -->
  </servers>

  <!-- mirrors
   | This is a list of mirrors to be used in downloading artifacts from remote repositories.
   | 
   | It works like this: a POM may declare a repository to use in resolving certain artifacts.
   | However, this repository may have problems with heavy traffic at times, so people have mirrored
   | it to several places.
   |
   | That repository definition will have a unique id, so we can create a mirror reference for that
   | repository, to be used as an alternate download site. The mirror site will be the preferred 
   | server for that repository.
   |-->
  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
  </mirrors>
  
  <!-- profiles
   | This is a list of profiles which can be activated in a variety of ways, and which can modify
   | the build process. Profiles provided in the settings.xml are intended to provide local machine-
   | specific paths and repository locations which allow the build to work in the local environment.
   |
   | For example, if you have an integration testing plugin - like cactus - that needs to know where
   | your Tomcat instance is installed, you can provide a variable here such that the variable is 
   | dereferenced during the build process to configure the cactus plugin.
   |
   | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
   | section of this document (settings.xml) - will be discussed later. Another way essentially
   | relies on the detection of a system property, either matching a particular value for the property,
   | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a 
   | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
   | Finally, the list of active profiles can be specified directly from the command line.
   |
   | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
   |       repositories, plugin repositories, and free-form properties to be used as configuration
   |       variables for plugins in the POM.
   |
   |-->
  <profiles>
    <!-- profile
     | Specifies a set of introductions to the build process, to be activated using one or more of the
     | mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
     | or the command line, profiles have to have an ID that is unique.
     |
     | An encouraged best practice for profile identification is to use a consistent naming convention
     | for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
     | This will make it more intuitive to understand what the set of introduced profiles is attempting
     | to accomplish, particularly when you only have a list of profile id's for debug.
     |
     | This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
    <profile>
      <id>jdk-1.4</id>

      <activation>
        <jdk>1.4</jdk>
      </activation>

      <repositories>
        <repository>
	  <id>jdk14</id>
	  <name>Repository for JDK 1.4 builds</name>
	  <url>http://www.myhost.com/maven/jdk14</url>
	  <layout>default</layout>
	  <snapshotPolicy>always</snapshotPolicy>
	</repository>
      </repositories>
    </profile>
    -->

    <!--
     | Here is another profile, activated by the system property 'target-env' with a value of 'dev',
     | which provides a specific path to the Tomcat instance. To use this, your plugin configuration
     | might hypothetically look like:
     |
     | ...
     | <plugin>
     |   <groupId>org.myco.myplugins</groupId>
     |   <artifactId>myplugin</artifactId>
     |   
     |   <configuration>
     |     <tomcatLocation>${tomcatPath}</tomcatLocation>
     |   </configuration>
     | </plugin>
     | ...
     |
     | NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
     |       anything, you could just leave off the <value/> inside the activation-property.
     |
    <profile>
      <id>env-dev</id>

      <activation>
        <property>
	  <name>target-env</name>
	  <value>dev</value>
	</property>
      </activation>

      <properties>
        <tomcatPath>/path/to/tomcat/instance</tomcatPath>
      </properties>
    </profile>
    -->
  </profiles>

  <!-- activeProfiles
   | List of profiles that are active for all builds.
   |
  <activeProfiles>
    <activeProfile>alwaysActiveProfile</activeProfile>
    <activeProfile>anotherAlwaysActiveProfile</activeProfile>
  </activeProfiles>
  -->
</settings>

3.安装MAVEN的eclispe插件,配置repo地址。
  * 还不能删除~home/.m2/settings.xml文件,否则插件用不起来。同样办法修改这个文件,让repo指定到上面那个地址。
4.未找到的jar安装方法,比如jta,这个包在官方的repo中一般都没有。自己找个来安装到本地的repo中。
    mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=/path/to/file

5.私服建立,google:artifactory
6.checksum文件生成。
<target name="checksum" description="Generate checksum file for jar and pom">   
       <checksum algorithm="SHA" fileext=".sha1">   
           <fileset dir="d:/javalib" id="id"> <!--—-jar和pom所在目录 -->   
              <include name="**/*.pom" />   
              <include name="**/*.jar" />   
              <include name="**/*.xml" />   
              <exclude name="**/*.sh1" />   
           <!--</span-->fileset>   
       <!--</span-->checksum>   
<!--</span-->target> 


显示一个插件所有的goal
创建一个基于模版的项目,eclipse项目
//创建标准目录模板
mvn archetype:create -DgroupId=com.codeline.commons -DartifactId=codelineCommons
//创建web项目
mvn archetype:create -DgroupId=com.mycompany.app    -DartifactId=my-webapp       -DarchetypeArtifactId=maven-archetype-web

查看一个插件所用的版本
mvn -Dplugin=groupId:artifactId help:describe
忽略编译test
mvn -Dmaven.test.skip=true
一个jar文件,它是maven的一个插件,怎么安装到本地库。
   mvn install:install-file
       -Dfile=<path-to-file>
    -DgroupId=<group-id>
    -DartifactId=<artifact-id>
    -Dversion=<version>
    -Dpackaging=<packaging>
    -DgeneratePom=true

maven的生命周期
    validate,验证工程是否正确,所有需要的资源是否可用。
    compile,编译项目的源代码。
    test-compile,编译项目测试代码。
    test,使用已编译的测试代码,测试已编译的源代码。
    package,已发布的格式,如jar,将已编译的源代码打包。
    integration-test,在集成测试可以运行的环境中处理和发布包。
    verify,运行任何检查,验证包是否有效且达到质量标准。
    install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
   deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。 
   generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
Dependency Scope
compile,缺省值,适用于所有阶段,会随着项目一起发布。
provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它
eg:
<dependency>
    <groupId>hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.0.3</version>
    <scope>test</scope>
</dependency>
分享到:
评论

相关推荐

    maven使用文档,maven使用文档

    ### Maven 使用文档详解 #### Maven 简介与特点 Maven 是一款强大的项目管理和构建工具,主要用于 Java 项目的管理。Maven 提供了统一的标准流程来管理项目的生命周期、依赖关系以及项目信息等,极大地提高了开发...

    idea+maven使用教程

    **Idea + Maven 使用教程** 本教程旨在帮助初学者了解并掌握如何在 IntelliJ IDEA (简称Idea) 中集成和使用 Maven。Idea 是一款强大的Java集成开发环境,而 Maven 则是一个项目管理和综合工具,它简化了构建、依赖...

    maven使用指南

    **Maven 使用指南** Maven 是一个强大的项目管理和构建工具,尤其在Java开发领域中广泛使用。它通过统一的构建过程和项目配置,使得开发者能够更有效地管理依赖、构建工件以及执行各种生命周期阶段。 ### Maven 的...

    Maven使用tomcat8-maven-plugin插件.docx

    Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...

    MAVEN使用最佳实践

    【MAVEN使用最佳实践】 Maven 是一个强大的项目管理和构建工具,它简化了Java应用程序的构建过程,通过一套约定优于配置的原则,使得项目构建、依赖管理和文档生成等工作变得标准化。以下是一些在使用Maven时可以...

    Maven使用手册V3.0

    《Maven使用手册V3.0》 Maven,一个由Apache软件基金会开发的项目管理工具,旨在提供一个一致且可重复的方式来构建和管理Java项目。它的核心理念是“约定优于配置”,即通过一套标准的项目结构和自动化构建过程,...

    Maven使用实战-从入门到精通实践【张振华.Jack】

    Maven使用实战-从入门到精通实践【张振华.Jack】 Maven简介、Maven主要做什么用? 项目对象模型(POM) 坐标(Coordinates)、打包方式(Packaging)、项目描述 项目子父级关系(parent) 依赖管理(dependency),冲突了...

    MAVEN使用文档

    **MAVEN使用文档** Maven是一个强大的项目管理工具,它主要负责构建、依赖管理和项目信息管理,广泛应用于Java开发领域。Apache Maven 3.0.5是Maven的一个版本,本指南将指导你如何在Eclipse环境下配置和使用这一...

    08Maven使用手册.zip

    ** Maven使用手册 ** 在Java开发中,Maven是一个至关重要的工具,它简化了构建、管理和依赖关系的处理。这个“08Maven使用手册”将深入探讨如何有效地使用Maven,帮助开发者从项目的初始化到部署的每一个阶段都能...

    maven使用方法促进编写JAVA代码

    【 MAVEN 使用方法促进编写 JAVA 代码】 在 Java 开发领域,Maven 是一个不可或缺的项目管理和构建工具,它极大地简化了项目的构建、依赖管理和文档生成。相较于早期的 ANT,Maven 提供了更为强大的自动化构建功能...

    maven使用自己资料

    【标题】:“Maven使用详解” 在软件开发中,Maven是一个强大的项目管理和构建工具,尤其在Java领域中被广泛使用。它通过提供一个统一的构建过程和依赖管理,简化了项目的构建、测试和部署。这篇博文“Maven使用...

    Maven使用介绍(PPT)

    boot目录下有一个plexus-classworlds-2.5.1.jar文件,这是一个类加载器框架,Maven使用它来加载自身的类库。conf目录包含了settings.xml文件,这是一个非常重要的文件,可以用来全局定制Maven的行为。lib目录则包含...

    maven使用讲解以及安装包

    Maven使用仓库来存储和检索依赖。默认的中央仓库是Sonatype Nexus,包含了大量公开的开源库。在`settings.xml`中,你可以配置镜像来加速依赖的下载。此外,每个项目还可以有自己的本地仓库(默认位于用户目录下的`....

    Java02_maven使用教程.doc

    Maven使用本地仓库存储构建过程中下载的依赖。默认情况下,它位于用户的主目录下的`.m2`文件夹中。为了自定义这个路径,你需要进行以下操作: - 在Maven安装目录的`conf`子目录下找到`settings.xml`文件。 - 创建一...

    01 Maven使用详解

    NULL 博文链接:https://ewf-momo.iteye.com/blog/1830762

    Maven使用指南--最权威的介绍

    ### Maven使用指南核心知识点 #### 1. Maven简介 **Maven是什么?** Maven是一个项目管理和理解工具,主要用于Java项目。它通过一系列规范化的生命周期和插件来帮助开发者更高效地进行项目的构建、测试、打包等...

Global site tag (gtag.js) - Google Analytics