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