`
阅读更多
maven2 完全使用手册
maven2
    相信maven1 大家都已 很熟悉了,具体maven能做什 ,就不 详细说 了。个人 得maven在 目中用的 是比 多的,公司内部,就不太清楚了。我以前的公司用 一段 时间 ,不 后来就没有下文了。
    与maven1 相比,maven2可算是几乎重写了,不
从速度来 说应该 更快。
   
主要的几个新特性包括:( 详细 参考 http://www.ibm.com/developerworks/cn/opensource/os-maven2/index.html
    1
. 更快、更 简单
       
速度方面可以比上 ant
    2
. 更少的配置文件
       
在的配置文件只剩下了 settings.xml pom.xml 了。
   
3.  Plugin 言更
       
始支持java,BeanShell和ant
    4.  提供了
的模版
       
点是最有帮助的,用 可以自己定 自己的 目模版了,就像用appfuse一 生成
    5. 生命周期的引入
         在Maven2中有了明确的生命周期概念,而且都提供与之
对应 的命令,使得 目构建更加清晰明了。
   
6.  新增 Dependency Scope    
        
点也比 重要,有些用于 test 的包,可以不用加入依
    7. 
传递 化依 管理
       
是最 方便的,可以省了很多配置。 如a 依 b,b a 也会依 c 。但是也会 患,如版本冲突。不 maven 也已 到了,可以使用exclusions来排除相 的重

了那 多, 在切入正 始maven2 之旅:
首些下 需要的工具:
maven2: http://maven.apache.org/download.html 最主要的
maven-proxy:用来代理repository,使用本地
代替maven2的
            http://maven-proxy.codehaus.org/
continuum
:一个不 的持 整合工具,用于自 build 。支持ant,maven
http://maven.apache.org/continuum/
svn:版本控制工具相信都已
配置了。
maven 用于 eclipse 的插件 , maven 主站有下 ,不 的插件。当然 idea 也有相 的插件
最后, http ,服 器是必不可少的。用于内部 开发 使用。
可以使用 apache ,或者 jetty  http://www.mortbay.org/

安装:
   
安装 maven2 简单 ,把下 来的 maven 包解 就行了。(目前我的配置都在 win2003 上, 没有 用于 linux ,所有所有的配置都 针对 windows). 增加相 m2_home=maven2 的安装目 ,不要忘了 java_home 的目 。另外在 path 中增加 % m2_home%\bin; 可以直接在命令行下面使用 mvn
其他工具的安装在后 的文章会介

始第一个 mvean2 目:
  mvn archetype:create -DgroupId=com.mycompany.app \
                   -DartifactId=my-app
 
简单 一下 groupId 相当于你的 组织 ,如同 org.springframework ,会 得本地路径 artifactId ,你主要的 jar 包名称,也就是你要打成的 jar 名称。
编译应
    mvn compile
       
编译 jave 文件
编译测试类 以及运行 测试类
    mvn test
      
运行 测试类
如果只想 编译 test
    mvn test-compile
打包和安装你的本地
打包:
    mvn package
安装:
    mvn install
web site
    mvn site
清除所有
    mvn clean
建相 ide 文件
    mvn idea:idea       
或者     mvn eclipse:eclipse

   
便 一下, maven2 是有生命周期 一概念的,也就是 如果你 package ,相 的以前 步骤 ,如 compile,test 等都会自 动执 行。
刚开 行会比 慢,需要从maven2 中下 所有的文件到本地。如果你的本地没有相 的依 包, 则每 次maven都会去 程下 ,所以配置一个 就比 重要了。
   
另外介 一下主要的参考 料:
    mavn2
主站:主要的 pom settings.xml 参考
    Better Builds with Maven     http://www.mergere.com/m2book_download.jsp
   
,主要通 例子介 可惜都是E文的,花点 时间还 得的。
    下一个主
,会 一下maven2的主要配置。

 
 
maven 配置篇 之 settings.xml
    maven2 比起 maven1 ,需要配置的文件少多了,主要集中在 pom.xml settings.xml 中。
   
先来 说说 settings.xml settings.xml maven 相当于全局性的配置,用于所有的 目。在 maven2 中存在两个 settings.xml ,一个位于 maven2 的安装目 conf 下面,作 全局性配置。 团队设 置,保持一致的定 关键 ,所以 maven2/conf下面的settings.xml就作 为团队 共同的配置文件。保 所有的 团队 有相同的配置。当然 个成 ,都需要特殊的 自定 义设 置,如用 信息,所以另外一个settings.xml就作 本地配置。默 的位置 :${user.dir} /.m2/settings.xml目 中(${user.dir} 指windows 中的用 )。
    settings.xml基本
构如下:
    <settings 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/settings-1.0.0.xsd">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <proxies/>
  <profiles/>
  <activeProfiles/>
</settings>
简单 一下几个主要的配置因素:
localRepository 表示本地
的保存位置,也就是maven2主要的jar保存位置,默 在${user.dir}/.m2/repository,如果需要另外 置,就 成其他的路径。
offline 如果不想
编译 ,都去 程中心 ,那就 true 。当然前提是你已 了必 的依 包。
Servers
   在POM中的 distributionManagement元素定
开发库 。然而,特定的username和pwd不能使用于pom.xml,所以通 此配置来保存server信息
  <servers>
    <server>
      <id>server001</id>
      <username>my_login</username>
      <password>my_password</password>
      <privateKey>${usr.home}/.ssh/id_dsa</privateKey>
      <passphrase>some_passphrase</passphrase>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
      <configuration></configuration>
    </server>
  </servers>
  • id:server id, 用于匹配 distributionManagement id ,比 重要。
  • username, password: 用于登 此服 器的用 名和密
  • privateKey, passphrase private key ,以及 passphrase
  • filePermissions, directoryPermissions :当 文件或者目 录创 建后,需要使用 访问 。参照 unix 文件 可,如 664 775
Mirrors
表示 ,指定 像,用于增加其他
  <mirrors>
    <mirror>
      <id>planetmirror.com</id>
      <name>PlanetMirror Australia</name>
      <url>http://downloads.planetmirror.com/pub/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
  • id,name: 唯一的 志,用于区 别镜
  • url: 像的 url
  • mirrorOf :此 像指向的服 id
Proxies
置,主要用于无法直接 访问 中心的 配置。
 
<proxies>
    <proxy>
      <id>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.somewhere.com</host>
      <port>8080</port>
      <username>proxyuser</username>
      <password>somepassword</password>
      <nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts>
    </proxy>
  </proxies>
  • id: 代理的
  • active :是否激活代理
  • protocol, host, port:protocol://host:port 代理
  • username, password :用 名和密
  • nonProxyHosts: 不需要代理的 host
Profiles
 
似于 pom.xml 中的 profile 元素,主要包括 activation,repositories,pluginRepositories properties 元素
 
刚开 始接触的 候,可能会比 迷惑,其 实这 maven2 中比 较强 大的功能。 从字面上来 ,就是个性配置。
 
独定 profile 后,并不会生效,需要通 过满 足条件来激活。
 
repositories pluginRepositories
 
其他 开发库 和插件 开发库 团队 ,肯定有自己的 开发库 。可以通 此配置来定
 
如下的配置,定 了本地 开发库 ,用于 release 布。
    <repositories>
        <repository>
          <id>repo-local</id>
       <name>Internal
开发库 </name>
       <url>http://192.168.0.2:8082/repo-local</url>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
            <checksumPolicy>warn</checksumPolicy>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <layout>default</layout>
        </repository>
      </repositories>
      <pluginRepositories>
    <pluginRepository>
    <id>repo-local</id>
    <name>Internal
开发库 </name>
    <url>http://192.168.0.2:8082/repo-local</url>
    <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
            <checksumPolicy>warn</checksumPolicy>
    </releases>
    <snapshots>
    <enabled>false</enabled>
    </snapshots>
    <layout>default</layout>
    </pluginRepository>
    </pluginRepositories>
releases, snapshots:
品的版本的 Release 或者 snapshot( 注: release snapshot 的区 release 一般是比 较稳 定的版本,而 snapshot 基本上不 定,只是作 快照)

properties
  maven
properties placeholder ,如 ant properties
包括以下的 5 种类
1.        env.X ,返回当前的
2.        project.x: 返回 pom 中定 的元素 ,如 project.version
3.        settings.x :返回 settings.xml 中定 的元素
4.        java 属性:所有 经过 java.lang.System.getProperties() 返回的
5.        x :用 自己 定的
Activation
 
用于激活此 profile
  <activation>
        <activeByDefault>false</activeByDefault>
        <jdk>1.5</jdk>
        <os>
          <name>Windows XP</name>
          <family>Windows</family>
          <arch>x86</arch>
          <version>5.1.2600</version>
        </os>
        <property>
          <name>mavenVersion</name>
          <value>2.0.3</value>
        </property>
        <file>
          <exists>${basedir}/file2.properties</exists>
          <missing>${basedir}/file1.properties</missing>
        </file>
      </activation>
  • jdk: 如果匹配指定的jdk版本,将会激活
  • os: 操作系
  • property :如果 maven 检测 到相 的属性
  • file: 用于判断文件是否存在或者不存在

除了使用 activation 来激活 profile ,同 可以通 activeProfiles 来激活
Active Profiles
表示激活的 profile, profile id 来指定。
  <activeProfiles>
    <activeProfile>env-test</activeProfile>
指定的 profile id
  </activeProfiles>
 

 
 
maven 配置
分享到:
评论

相关推荐

    手撕源码C++哈希表实现:从底层原理到性能优化,看完面试官都怕你!(文末附源码)

    哈希表源码

    sun_3ck_03_0119.pdf

    sun_3ck_03_0119

    MATLAB实现基于LSTM-AdaBoost长短期记忆网络结合AdaBoost时间序列预测(含模型描述及示例代码)

    内容概要:本文档详细介绍了基于 MATLAB 实现的 LSTM-AdaBoost 时间序列预测模型,涵盖项目背景、目标、挑战、特点、应用领域以及模型架构和代码示例。随着大数据和AI的发展,时间序列预测变得至关重要。传统方法如 ARIMA 在复杂非线性序列中表现欠佳,因此引入了 LSTM 来捕捉长期依赖性。但 LSTM 存在易陷局部最优、对噪声鲁棒性差的问题,故加入 AdaBoost 提高模型准确性和鲁棒性。两者结合能更好应对非线性和长期依赖的数据,提供更稳定的预测。项目还展示了如何在 MATLAB 中具体实现模型的各个环节。 适用人群:对时间序列预测感兴趣的开发者、研究人员及学生,特别是有一定 MATLAB 编程经验和熟悉深度学习或机器学习基础知识的人群。 使用场景及目标:①适用于金融市场价格预测、气象预报、工业生产故障检测等多种需要时间序列分析的场合;②帮助使用者理解并掌握将LSTM与AdaBoost结合的实现细节及其在提高预测精度和抗噪方面的优势。 其他说明:尽管该模型有诸多优点,但仍存在训练时间长、计算成本高等挑战。文中提及通过优化数据预处理、调整超参数等方式改进性能。同时给出了完整的MATLAB代码实现,便于学习与复现。

    免费1996-2019年各地级市平均工资数据

    1996-2019年各地级市平均工资数据 1、时间:1996-2019年 2、来源:城市nj、各地级市统计j 3、指标:平均工资(在岗职工) 4、范围:295个地级市

    [AB PLC例程源码][MMS_040384]Winder Application.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    C2Former: 解决RGB-红外物体检测中模态校准与融合不精确问题的标定互补变压器

    内容概要:本文介绍了一种新颖的变压器模型C2Former(Calibrated and Complementary Transformer),专门用于解决RGB图像和红外图像之间的物体检测难题。传统方法在进行多模态融合时面临两个主要问题——模态错位(Modality miscalibration)和融合不准确(fusion imprecision)。作者针对这两个问题提出采用互模交叉注意力模块(Inter-modality Cross-Attention, ICA)以及自适应特征采样模块(Adaptive Feature Sampling, AFS)来改善。具体来说,ICA可以获取对齐并且互补的特性,在特征层面进行更好的整合;而AFS则减少了计算成本。通过实验验证了基于C2Former的一阶段和二阶段检测器均能在现有公开数据集上达到最先进的表现。 适合人群:计算机视觉领域的研究人员和技术人员,特别是从事跨模态目标检测的研究人员,对Transformer架构有一定了解的开发者。 使用场景及目标:适用于需要将可见光和热成像传感器相结合的应用场合,例如全天候的视频监控系统、无人驾驶汽车、无人

    上海人工智能实验室:金融大模型应用评测报告-摘要版2024.pdf

    上海人工智能实验室:金融大模型应用评测报告-摘要版2024.pdf

    malpass_02_0907.pdf

    malpass_02_0907

    C++-自制学习辅助工具

    C++-自制学习辅助工具

    微信生态系统开发指南:涵盖机器人、小程序及公众号的技术资源整合

    内容概要:本文提供了有关微信生态系统的综合开发指导,具体涵盖了微信机器人的Java与Python开发、全套及特定应用的小程序源码(PHP后台、DeepSeek集成),以及微信公众号的基础开发与智能集成方法。文中不仅给出了各种应用的具体案例和技术要点如图灵API对接、DeepSeek大模型接入等的简述,还指出了相关资源链接以便深度探究或直接获取源码进行开发。 适合人群:有意开发微信应用程序或提升相应技能的技术爱好者和专业人士。不论是初涉者寻求基本理解和操作流程,还是进阶者期望利用提供的资源进行项目构建或是研究。 使用场景及目标:开发者能够根据自身兴趣选择不同方向深入学习微信平台的应用创建,如社交自动化(机器人)、移动互联网服务交付(小程序),或者公众信息服务(公众号)。特别是想要尝试引入AI能力到应用中的人士,文中介绍的内容非常有价值。 其他说明:文中提及的多个项目都涉及到了最新技术栈(如DeepSeek大模型),并且为不同层次的学习者提供从零开始的详细资料。对于那些想要迅速获得成果同时深入了解背后原理的人来说是个很好的起点。

    pimpinella_3cd_01_0916.pdf

    pimpinella_3cd_01_0916

    mellitz_3cd_01_0516.pdf

    mellitz_3cd_01_0516

    schube_3cd_01_0118.pdf

    schube_3cd_01_0118

    [AB PLC例程源码][MMS_046683]ME Faceplates for 1738 Digital and Analog I-O with Descriptions.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_040371]Communication between CompactLogix Controllers on DeviceNet.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_046507]SE Faceplates for 1797 Digital and Analog I-O.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    智慧用电平台建设解决方案【28页】.pptx

    智慧用电平台建设解决方案【28页】

    lusted_3ck_01_0519.pdf

    lusted_3ck_01_0519

    HCIP作业1 这里面是完成的ensp的拓扑图

    HCIP作业1 这里面是完成的ensp的拓扑图

    会员式点餐小程序v1.2.1+前端-无错源码.zip

    会员式点餐小程序1.2.1 前端 会员卡点餐小程序 适用于书吧、咖啡书屋、健身房等有会员卡充值需求的场所。 小程序专属会员模式,可享受折扣为余额充值,稳定客流。 版本号:1.2.1 适配一个php兼容性错误 修改消息通知模板

Global site tag (gtag.js) - Google Analytics