Я сказал, что поделюсь тем, что нашел в своем исследовании, для чего-то, что соответствовало бы моим потребностям.Вот что у меня есть.
Я обнаружил, что концепция текущего рабочего каталога (CWD) в действительности не имеет смысла в контексте приложения Java Web Start (JWS).Это привело к тому, что я перестал пытаться найти CWD JWS и начал искать другие варианты.
Я обнаружил, что (нет, я не знал, что) вы можете ссылаться (используя getResource ()) к файлу в корневом каталоге JAR-файла, просто добавив «/» перед его именем.(Например, "/log4j.properties".) В результате этого я могу взять любой файл, на который есть ссылка только для чтения, в корне этого файла JAR (который на самом деле является только файлом ZIP).).Вы можете ссылаться на любой файл в корне файла JAR, используя AnyClass.class.getResourceAsStream.Это исключает проблему с файлами только для чтения, необходимыми для запуска приложения, за счет переключения кода, указывающего, запускается ли приложение из допустимого CWD или из контекста JWS.(Вы можете очень просто установить свойство в файле JNLP приложения JWS и проверить, установлено ли это свойство или нет, чтобы знать, где искать файл.)
Для файлов только для записи (файлы журналов вв моем случае) я использовал свойство, добавив каталог с именем приложения:/.appname и добавленные в него файлы журналов.
Файлы чтения / записи (которых у меня нет в моем случае), вероятно, будут просто находиться в том же месте, что и файлы только для записи.Программное обеспечение может загружать их куда-нибудь, если необходимо, после модификации, я думаю.
Так я сейчас решаю проблему.