`
happyqing
  • 浏览: 3154555 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用Ant打Jar包--在Manifest中引用Classpath

    博客分类:
  • ant
阅读更多

 

在打jar包时,往往需要在manifest文件中设置Class-Path,包含一些依赖的第三方jar包,使得以“java -jar xxx.jar”方式启动的jar包能正确找到依赖的类

网上大多演示使用打jar包的例子都是像这样的:

<target name="jar" >

        <jar destfile="${dest.jar}">

            <fileset dir="${source.class}">

                <include name="**/*.class"/>

            </fileset>

            <manifest>

                <attribute name="Main-Class" value="${mianclass}"/>

                <attribute name="Class-Path" value="xxxx.jar xxxx.jar xxxx.jar xxxx.jar"/>

            </manifest>

        </jar>

在依赖的jar包比较多的情况下,手工设置所有的jar包是非常令人崩溃而且容易出错的事情。一旦引用的外部jar包有变动,还需要到这里维护,时间一长,可能就会忘记。

经过一番查找,发现了一种配置

<path id="classpath">

        <fileset  dir="${lib}" include="**/*.jar"/>

 </path>

<target name="jar" depends="compile">

         <pathconvert property="mf.classpath" pathsep=" ">

             <path refid="classpath" />

             <mapper>
                    <chainedmapper>
                        <!-- 移除绝对路径 -->
                        <flattenmapper />
                        <!-- 加上lib前缀 -->
                        <globmapper from="*" to="lib/*" />
                    </chainedmapper>
                </mapper>

         </pathconvert>

        <jar destfile="${dest.jar}">

            <fileset dir="${source.class}">

                <include name="**/*.class"/>

            </fileset>

            <manifest>

                <attribute name="Main-Class" value="${mainclass}"/>

                <attribute name="Class-Path" value="${mf.classpath} "/>

            </manifest>

        </jar>

 可以把classpath中的jar包,转换成jar Class-Path格式

分享到:
评论

相关推荐

    ant学习打包代码

    &lt;taskdef name="myTaskExample" classname="com.ant.tool.extend.AntTasks" classpath="bin" /&gt; &lt;!--引用自定标签的name myTaskExample--&gt; &lt;!--用echo显示各种的属性--&gt; 当前系统的用户名:${user....

    hadoop-eclipse-plugin-1.1.2.jar

    hadoop 1.1.2 的eclipse 插件 经测试可用 如不可用 可以参考如下自行编译 首先将 ${HADOOP_HOME}\src\contrib 下面的 build-contrib.xml 复制到 ${...在${HADOOP_HOME}\src\contrib\eclipse-plugin 下面 执行 ant jar

    ant1.9资源

    在本小节中,主要引导读者来看下Ant的常用任务及其使用举例。 1. copy任务 该任务主要用来对文件和目录的复制功能。举例如下: Eg1.复制单个文件: Eg2.对文件目录进行复制: Eg3. 将文件复制到另外的...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    hadoop1.1.2 eclipse 插件

    在用eclipse 搭建hadoop插件时,apache不会提供插件,插件必须自己编译并且声称jar包。 1、将hadoop-1.1.2.tar.gz解压。比如:D:\hadoop-1.1.2。 2、进入D:\hadoop-1.1.2\src\contrib目录。将build-contrib.xml...

    spring-boot-reference.pdf

    11.5. Creating an Executable Jar 12. What to Read Next III. Using Spring Boot 13. Build Systems 13.1. Dependency Management 13.2. Maven 13.2.1. Inheriting the Starter Parent 13.2.2. Using Spring Boot ...

    springboot参考指南

    在Spring环境中使用YAML暴露属性 iii. 23.6.3. Multi-profile YAML文档 iv. 23.6.4. YAML缺点 vii. 23.7. 类型安全的配置属性 i. 23.7.1. 第三方配置 ii. 23.7.2. 松散的绑定(Relaxed binding) iii. 23.7.3. @...

    Eclipse整合开发工具-基础篇

    4.8.3定義 JAR 檔的 manifest 179 4.8.4重新產生 JAR 檔 182 4.9.建立 Javadoc 文件 184 4.9.1選取產生 Javadoc 用的類型 184 4.9.2為標準 doclet 配置 Javadoc 引數 185 4.9.3配置 Javadoc 引數 186 4.10工作集...

    Eclipse 中文教程

    4.8.3定义 JAR 檔的 manifest 134 4.8.4重新产生 JAR 檔 136 4.9.建立 Javadoc 文件 138 4.9.1选取产生 Javadoc 用的类型 138 4.9.2为标准 doclet 配置 Javadoc 自变量 139 4.9.3配置 Javadoc 自变量 139 4.10工作集...

    eclipse 中文版教程

    483 定义 JAR 檔的 manifest 180 484 重新产生 JAR 檔 183 49建立 Javadoc 文件 185 491 选取产生 Javadoc 用的类型 185 492 为标准 doclet 配置 Javadoc 自变量 186 493 配置 Javadoc 自变量 187 410 工作集...

    Eclipse中文教程文档

    4.8.3定義 JAR 檔的 manifest 179 4.8.4重新產生 JAR 檔 182 4.9.建立 Javadoc 文件 184 4.9.1選取產生 Javadoc 用的類型 184 4.9.2為標準 doclet 配置 Javadoc 引數 185 4.9.3配置 Javadoc 引數 186 4.10工作集...

    Eclipse从入门到精通.rar

    4.8.3 定义 JAR 檔的 manifest................. 180 4.8.4 重新产生 JAR 檔 183 4.9.建立 Javadoc 文件... 185 4.9.1 选取产生 Javadoc 用的类型.............. 185 4.9.2 为标准 doclet 配置 Javadoc 自变量.....

    Eclipse – 整合开发工具

    101 3.1.12搜尋(Search) 103 3.1.13啟動和關閉(Startup and Shutdown) 104 3.2 Ant 106 3.2.1 Ant 編輯器(Ant Editor) 106 3.2.2 Ant 執行時期(Ant Runtime) 108 3.3建置次序(Build ...

    Eclipse中文教程

    Eclipse中文教程三册全集 0.环境说明 .......................................................................3.2.1 Ant 编辑器(Ant Editor) ........................................ 107 3.2.2 Ant 执行时期...

    Eclipse中文教程.pdf

    1、图文并茂的详细介绍了eclipse的使用方法 2、虽然是pdf,但是非影音版,所有相当清晰 3、含文档结构目录,可以方便的跳转到对应章节 4、允许对文档注释和查找 目录 0.环境说明.....................................

Global site tag (gtag.js) - Google Analytics