2つのURIオブジェクトがあります。1つはJARファイル内のフォルダーを指しており、もう1つは同じJARファイル内のファイルを指しています。ファイルは、最初のURIで指定されたディレクトリのサブフォルダにあります。相対URIを作成して、結果のURIにJAR内のファイルへの相対パスのみが含まれるようにするのが好きです。
フォルダURI
jar:file:/C:/Users/inagy/.m2/repository/hu/inagy/my-config-artifact/2.0-SNAPSHOT/my-config-artifact-2.0-SNAPSHOT.jar!/conf/
リソースURI
jar:file:/C:/Users/inagy/.m2/repository/hu/inagy/my-config-artifact/2.0-SNAPSHOT/my-config-artifact-2.0-SNAPSHOT.jar!/conf/somesubpath/someconfig.xml
呼び出した後
folderUri.relativize(resourceURI)
、結果として次のURIを期待しています:somesubpath/someconfig.xml
ただし、resourceURIが返されます。これは、URIクラスのJavadocによると、JDKコードがこの2つのパスを相互に関連していないことを検出することを意味します。
これはバグですか、それとも私は何か間違ったことをしていますか?