`

做环保主义者,用Maven2 管理Java类库

阅读更多

看着log4j-2.13.jar被每个项目每个版本里一次又一次无限下载,你就会觉得用Maven2 管理Library实在很环保。

     而且,Java的类库也急需摆脱这种无身份无地位一个jar包随处摆放的境况。Maven给Jar以名份是一个好方向。

     其实Ruby和php都已有了这样的管理工具和官方网站,所有的Ruby包在机器上都像rpm那样是installed的。Maven既然代表了Java,但愿也能好好发展。

     完全使用Maven来做全部事情有点超前,因此我也只是是用它的library管理功能,真正用的深入的是pesome郁也风。

   1.  查找Jar包在官网的路径

    http://www.mavenregistry.com/  ,太实用了。

   2. 用Ant  调Maven管理 JAR
    
   SpringSide使用maven2的ant task,不需要用户装maven,直接用ant脚本来下载依赖包并copy到$springside_home/lib。脚本如下:

 <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant">    
     
<classpath>
             <pathelement location="lib/maven-artifact-ant-2.0.2-dep.jar"/>
      </classpath>
 </typedef>
 <artifact:dependencies pathId="maven.classpath" filesetId="maven.fileset">
        <artifact:pom file="pom.xml"/> 
 
</artifact:dependencies>

 <copy todir="lib/">
        <fileset refid="maven.fileset"/>
        <mapper type="flatten"/>   
 
</copy>

    第1句从maven-artifact-ant-2.0.2-dep.jar读antlib.xml,读出一堆maven的task。

    第2句分析pom.xml里的jar,如果没有就上http://repo1.maven.org/maven2 把jar下载到${user.home}/.m2/目录。并把所有jar定义成ant的fileset对象--maven.fileset。

     第3句把maven.fileset定义的,放在${user.home}/.m2/里的jar 拷贝到项目lib目录。

  
    不过,相对来讲Maven2还很不成熟,比如很多项目的pom是乱写的,比如maven官网的速度实在太差,还经常抽筋死掉,比如有一些想要的新版官网上没有。

    3. 自建私服
 
     自己建个私服是不错的主意。其实也简单,随便拿台http服务器,把${user.home}/.m2/ 目录传上去就行了
     在pom文件中,把私服的http url写在官网的前面。   

 <repositories>
        
<repository>
            
<id>springside</id>
      
      <url>http://www.springside.org.cn/maven2</url>
        
</repository>
        
<repository>
            
<id>maven</id>
            
<name>slowly office site</name>
            
<url>http://repo1.maven.org/maven2</url>
        
</repository>
    
</repositories>


   4. 在私服加入自己的jar包

    对于官网没有的新版,按目录路径传一个jar包,加一个最简单的pom文件,并且为它们生成checksum文件,用ant的task就可以:

  <target name="checksum" description="为maven私服上的文件生成CHECKSUM">
        
<checksum file="C:\checksum\spring-mock-2.0-m3.pom" algorithm="SHA" fileext=".sha1"/>
    
</target>


分享到:
评论

相关推荐

    Java类库下载Q

    4. GUI(图形用户界面)类库:`javax.swing`和`java.awt`包提供了创建桌面应用的组件和布局管理器,让开发者能够构建美观的用户界面。 5. 数据库访问类库:JDBC(Java Database Connectivity)是Java连接数据库的...

    ECharts - Java类库.zip

    ECharts 是一个基于 JavaScript 的开源可视化库...综上所述,"ECharts - Java 类库.zip" 提供的可能是一个用于在 Java 后端生成和管理 ECharts 图表的工具,帮助开发者更便捷地将数据可视化集成到他们的 Java 应用中。

    maven java 管理框架

    ### Maven Java管理框架详解 Maven作为Java世界中不可或缺的项目管理和综合工具集,其核心功能在于通过标准化的项目对象模型(Project Object Model,POM)来管理项目的构建过程、依赖关系以及文档生成等。Maven的...

    maven2 java项目管理 工具 测试 框架

    Maven 2 是一个广泛使用的Java项目管理工具,它极大地简化了构建、管理和部署Java应用程序的过程。Maven 使用一种标准化的方法来组织项目结构,并通过依赖管理和项目信息管理来自动化构建流程。这个工具的核心概念是...

    Java图像处理类库 Java Image Filters

    Java图像处理类库,如Java Image Filters,是Java平台上的一个重要工具,用于对数字图像进行各种操作和修改。这些类库通常包含了一系列的类和方法,可以实现图像的过滤、调整、裁剪、旋转、合成等多种功能,为开发者...

    Maven搭建Kafka Java开发环境需要的jar包

    在Java开发环境中,Apache Kafka是一个广泛使用的分布式流处理平台,用于构建实时数据管道和流应用程序。为了使用Kafka进行开发,我们需要确保拥有正确的依赖项,这些依赖项通常以jar(Java Archive)文件的形式存在...

    免费Java Excel类库-Free Spire.XLS for Java-2.2.0

    Free Spire.XLS for Java是一款专门针对Java平台的开源Excel处理类库,它允许开发者在Java应用程序中创建、读取、修改和导出Excel文件。这个版本为2.2.0,提供了丰富的功能和易用的API,使得与Excel文件交互变得更加...

    maven构建的java项目demo

    Maven 使用约定优于配置的原则,提供了一套标准的项目结构,使得开发者可以更高效地管理项目。 2. Maven 构建流程 Maven 的构建流程主要分为三个阶段:编译(compile)、测试(test)和打包(package)。首先,`...

    这是一个针对ECharts3.x(2.x)版本的Java类库,.rar

    这是一个针对ECharts3.x(2.x)版本的Java类库,实现了所有ECharts中的Json结构对应的Java对象,并且可以很方便的创建Option 2.Echarts使用 2.1、下载Echarts有关的js文件 根据自己的需求进行下载 2.2、下载...

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库).7z

    2. **引入依赖**:将库导入项目中,如果是Maven项目,可以在pom.xml中添加依赖;如果是Gradle,应在build.gradle中配置。 3. **初始化客户端**:在代码中实例化Google Translate API的客户端,传入API密钥。 4. **...

    使用Idea14.1.4和maven创建java web项目

    ### 使用Idea14.1.4和Maven创建Java Web项目 #### 一、概述 在本篇文章中,我们将详细介绍如何使用IntelliJ IDEA 14.1.4版本结合Maven来创建一个Java Web项目。这种方法不仅能够提高开发效率,还能确保项目的结构...

    maven-3.2.5 java

    ** Maven 3.2.5 与 Java:构建与管理Java项目的核心工具 ** Maven是Apache软件基金会开发的一款项目管理和集成工具,主要用于Java应用程序的构建、依赖管理和项目信息管理。Maven 3.2.5是该工具的一个稳定版本,它...

    jdk8、maven3.9安装包

    Java Development Kit...JDK为编写和运行Java程序提供了基础环境,而Maven则通过自动化构建流程和强大的依赖管理,极大地提升了开发效率和项目的可维护性。正确安装并配置这两个工具,是顺利进行Java开发的第一步。

    Maven2构建.doc

    **插件管理**:Maven的插件机制允许扩展构建功能,如使用`maven-jar-plugin`打包Java应用,`maven-surefire-plugin`执行单元测试,`maven-war-plugin`打包Web应用等。 总的来说,Maven2通过提供一套标准和自动化...

    maven学习指南java(经典,实例)

    2. Maven环境设置:包括系统要求、如何验证Java安装、设置JAVA环境变量、下载和解压Maven档案文件、设置Maven环境变量以及如何验证Maven安装是否成功。 3. Maven项目对象模型(POM):详细解释POM文件的结构和作用...

    maven java maven Eclipse 环境构建

    Maven 是 Apache 组织开发的一款强大的项目管理和构建工具,它替代了传统的 Ant 工具,简化了 Java 项目的构建过程。Maven 使用一个标准的目录结构和一个基于 XML 的配置文件,称为 `pom.xml`,来管理项目依赖、构建...

    m2配置用于JAVA包管理和下载的工具

    M2配置是Java开发中不可或缺的一部分,它指的是Maven 2或Maven 3的用户配置,主要用于管理Java项目的依赖包和执行下载任务。Maven是一个强大的项目管理和构建工具,它遵循约定优于配置的原则,使得Java开发更加标准...

    Maven2 配置指南(java 项目管理之路)

    ### Maven2配置指南知识点概述 #### 一、Maven简介 1. **Maven是什么?...通过以上知识点的学习,读者将对Maven的基本概念、安装使用以及项目管理有较为全面的理解,并能基于Maven进行基本的Java项目构建和管理。

    maven项目管理工具

    另外,对于非Java项目或不遵循Maven约定的项目,使用Maven可能需要更多的定制工作。 总的来说,Maven通过提供标准化的构建流程、自动化依赖管理和丰富的插件生态,极大地提升了Java开发的效率和一致性。尽管存在...

    Maven笔记(2)-- 构建Java Project 及 Maven命令使用

    **Maven笔记(2)-- 构建Java Project 及 Maven命令使用** Maven是Apache组织开发的一个项目管理和综合工具,主要用于Java项目构建、依赖管理和项目信息管理。它通过一个统一的构建过程,使得项目的构建变得简单且...

Global site tag (gtag.js) - Google Analytics