pathing jar是一个特殊的jar:

  • 该jar文件只包含manifest.mf文件
  • 该manifest文件只包含Class-Path,列出了所有需要真正加到classpath中的jar,或者directory

需要pathing jar的原因是windows下command line额长度限制(8k),无论你怎么声明你的classpath:

  • set CLASS_PATH=allpaths
  • set CLASS_PATH=path1; set CLASS_PATH=%CLASS_PATH%;path2
  • java -cp allpaths

结果都会是:

The input line is too long.
The syntax of the command is incorrect.

对于ant,解决方案是:http://stackoverflow.com/questions/201816/how-to-set-a-long-java-classpath-in-msdos-windows

<macrodef name="create-pathing-jar">
<sequential>
<ivy:cachepath pathid="all_classpath" conf="runtime" type="jar"/>
<pathconvert property="converted_all_classpath" refid="all_classpath" pathsep=" " dirsep="/">
<map from="/" to="file:////"/>;
</pathconvert>
<jar jarfile="pathing.jar" filesetmanifest="merge">
<manifest>
<attribute name="Class-Path" value="${converted_all_classpath}"/>
</manifest>
</jar>
</sequential>
</macrodef>

一般需要做个pathcovert,加上一个file:///的前缀: http://en.wikipedia.org/wiki/File_URI_scheme

对于gradle,解决方案是:http://stackoverflow.com/questions/5434482/how-can-i-create-a-pathing-jar-in-gradle

创建pathing jar的更多相关文章

  1. IDEA 创建maven jar、war、 pom项目

    创建java jar.pom项目时创建maven-archetype-quickstart 创建java war项目时创建maven-archetype-webapp

  2. maven项目使用自己创建的jar包--maven without test code

    eclipse版本为2018-12(4.10.0) 1.创建一个jar包 首先自己建立了一个maven project,名为jweb.GAV坐标: <groupId>amberai< ...

  3. 使用spring boot创建fat jar APP

    文章目录 介绍 build和run fat jar和 fat war 更多配置 介绍 在很久很很久以前,我们部署web程序的方式是怎么样的呢?配置好服务器,将自己写的应用程序打包成war包,扔进服务器 ...

  4. Linux下的压缩和解压缩命令——jar

    原文链接:http://blog.chinaunix.net/uid-692788-id-2681136.htmlJAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有 ...

  5. maven 间接依赖的jar自动引入

    很多时候,我们引用的第三方jar需要一些其他的第三方jar,这个时候默认情况下,间接需要依赖的第三方jar是不会自动被引入的,如果希望这些额外的三方jar被自动引入,则在Maven仓库中除了提交jar ...

  6. jar命令的用法详解

    本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作用.具体如下: JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中 ...

  7. .bat文件和Jar包的生成及运行

    .bat文件和Jar包的生成及运行 1.Jar包简单介绍 Jar包是Java中所特有的一种压缩文档,有点类似于zip包,区别在于Jar包中有一个META-INF\MANIFEST.MF文件(在生成Ja ...

  8. 转:linux下jar命令与jar包

    原文链接:http://blog.chinaunix.net/uid-692788-id-2681136.htmlJAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有 ...

  9. jar包合并

    多个jar包合并: 1.首先将所以要合并的jar包解压到同一目录中.jar xvf xxx.jar 2.用jar命令将所有.class, .aidl文件打包. jar cvf output.jar   ...

随机推荐

  1. php示例代码之使用MySQLi接口

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  2. EMC Documentum DQL整理(四)

    1.List files and folder in specified folder pathSELECT DISTINCT s.object_name, fr.r_folder_path FROM ...

  3. java环境变量 windows centos 安装jdk

    windows: 1.安装jdk,注意不是jre 2. 计算机→属性→高级系统设置→高级→环境变量,选择下面的那个系统环境变量 3. 系统变量→新建 JAVA_HOME 变量 . 变量值填写jdk的安 ...

  4. JavaScript Patterns 6.7 Borrowing Methods

    Scenario You want to use just the methods you like, without inheriting all the other methods that yo ...

  5. SQL中CHARINDEX()/INSTR()函数和SUBSTRING()/SUBSTR()函数

    一.SQLServer中的CHARINDEX() 和ORACLE中的INSTR()函数 1.INSTR(C1,C2[,I[,J]]) [功能]在一个字符串中搜索指定的字符,返回发现指定的字符的位置; ...

  6. 设计模式C#实现(十二)——装饰模式

    意图 0 适用性 1 结构 2 实现 3 效果 4 参考 5 意图 动态的给一个对象添加一些额外的职责. 适用性 动态的为单个对象添加职责而不影响其他对象 处理那些可以撤销的职责(? 在某些功能不需要 ...

  7. linux时间不同步问题

    怪问题: 时间同步失效 系统: centos 6.6  2.6.32-504.el6.x86_64 情况: 定时任务中写了每分钟同步一次系统时间,定时任务执行成功,时间却未同步,奇怪? 现象: [ro ...

  8. Android Fragment初探:静态Fragment组成Activity

    一直习惯了在Activity中写所有事件处理代码,直到认真学习Fragment时,才发现,Activity完全可以由多个Fragment组成. 对Fragment的了解还不够深入,先从静态Fragme ...

  9. java报表工具finereport常用函数的用法总结(数组函数)

    ADD2ARRAY ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组. 示例: ADDARRAY([3 ...

  10. css font-weight原理

    为什么要记录一下?因为今天我要设置一个字符加粗,然后就用font-weight:200,没有任何效果.现在看来很可笑,400才相当于normal,200怎么加粗,奇怪的是也没有变细.所以得研究一下fo ...