如何在MANIFEST.MF中处理类路径中带空格的文件?

时间:2013-09-06 14:07:07

标签: java jar classpath spaces

我尝试使用Class-Path中的MANIFEST.MF元素构建JAR。我从外部源(我的情况下是Maven)获取类路径的元素。由于路径是绝对的并且超出我的控制范围,因此它们可以包含奇怪的字符,如空格。

由于空格用于分隔类路径中的项目,因此该路径不起作用:

Class-Path: C:\User\Some Odd Name\project\target\project-1.0.0.jar

如何在JAR清单中的类路径项中转义/编码奇数字符/空格?

2 个答案:

答案 0 :(得分:11)

Class-Path元素中的元素是URL,因此通常的转义规则适用(并且您也应该使用正斜杠):

Class-Path: /C:/User/Some%20Odd%20Name/project/target/project-1.0.0.jar

注意:由于C不是有效的网络协议(如httpftp),因此必须使用初始斜杠。如果你是迂腐的,那应该是file:///C:/...

答案 1 :(得分:-1)

对我来说,插入字符是成功逃脱 Windows 类路径中空格的唯一方法:

Class-Path: C:\User\Some^ Odd^ Name\project\target\project-1.0.0.jar