我尝试使用Class-Path
中的MANIFEST.MF
元素构建JAR。我从外部源(我的情况下是Maven)获取类路径的元素。由于路径是绝对的并且超出我的控制范围,因此它们可以包含奇怪的字符,如空格。
由于空格用于分隔类路径中的项目,因此该路径不起作用:
Class-Path: C:\User\Some Odd Name\project\target\project-1.0.0.jar
如何在JAR清单中的类路径项中转义/编码奇数字符/空格?
答案 0 :(得分:11)
Class-Path
元素中的元素是URL,因此通常的转义规则适用(并且您也应该使用正斜杠):
Class-Path: /C:/User/Some%20Odd%20Name/project/target/project-1.0.0.jar
注意:由于C
不是有效的网络协议(如http
或ftp
),因此必须使用初始斜杠。如果你是迂腐的,那应该是file:///C:/...
答案 1 :(得分:-1)
对我来说,插入字符是成功逃脱 Windows 类路径中空格的唯一方法:
Class-Path: C:\User\Some^ Odd^ Name\project\target\project-1.0.0.jar