在打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格式
相关推荐
<taskdef name="myTaskExample" classname="com.ant.tool.extend.AntTasks" classpath="bin" /> <!--引用自定标签的name myTaskExample--> <!--用echo显示各种的属性--> 当前系统的用户名:${user....
hadoop 1.1.2 的eclipse 插件 经测试可用 如不可用 可以参考如下自行编译 首先将 ${HADOOP_HOME}\src\contrib 下面的 build-contrib.xml 复制到 ${...在${HADOOP_HOME}\src\contrib\eclipse-plugin 下面 执行 ant jar
在本小节中,主要引导读者来看下Ant的常用任务及其使用举例。 1. copy任务 该任务主要用来对文件和目录的复制功能。举例如下: Eg1.复制单个文件: Eg2.对文件目录进行复制: Eg3. 将文件复制到另外的...
的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...
在用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...
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 ...
在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. @...
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工作集...
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工作集...
483 定义 JAR 檔的 manifest 180 484 重新产生 JAR 檔 183 49建立 Javadoc 文件 185 491 选取产生 Javadoc 用的类型 185 492 为标准 doclet 配置 Javadoc 自变量 186 493 配置 Javadoc 自变量 187 410 工作集...
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工作集...
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 自变量.....
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中文教程三册全集 0.环境说明 .......................................................................3.2.1 Ant 编辑器(Ant Editor) ........................................ 107 3.2.2 Ant 执行时期...
1、图文并茂的详细介绍了eclipse的使用方法 2、虽然是pdf,但是非影音版,所有相当清晰 3、含文档结构目录,可以方便的跳转到对应章节 4、允许对文档注释和查找 目录 0.环境说明.....................................