Я пытаюсь построить JAR с элементом Class-Path
в MANIFEST.MF
. Я получаю элементы пути класса от внешнего источника (Maven в моем случае). Поскольку пути абсолютны и находятся вне моего контроля, они могут содержать странные символы, такие как пробелы.Как обрабатывать файлы с пробелами в пути к классам в MANIFEST.MF?
Поскольку пространства используются для разделения элементов в пути класса, этот путь не работает:
Class-Path: C:\User\Some Odd Name\project\target\project-1.0.0.jar
Как я могу избежать/кодировать нечетные символы/пробела в пунктах в пути к классам JAR манифеста?
Я не знаю, что они являются URL-адреса. Это очень полезно для меня, поскольку мне нужно разбить список URL-адресов. Мне было интересно, что делать с пробелами в именах путей/JAR ... теперь я знаю, что могу игнорировать. Они будут представлены с использованием объектов URL, например, (пробел) -> '% 20' – kevinarpe
Хорошо, однако я обнаружил, что для такого абсолютного пути мне также нужно было указать«/»перед буквой диска: ' Class-Path:/C:/User/Some% 20Odd% 20Name/project/target/project-1.0.0.jar' –
@RDAlkire Исправить, так как 'C' не является допустимым сетевым протоколом в отличие от, скажем,' http' или 'ftp'. Чтобы быть очень правильным, это должно быть 'file:/C:/...', но можно утверждать, что контекст (файл манифеста) является файлом, поэтому базовый URL-адрес является alreay 'file: // ...' Исправлена. –