我创建了一个使用.properties文件的Java应用程序。
最初我有以下属性:
manager.url=https://1.2.3.4/manager-bucket1
随着应用程序和我的属性文件的增长,我发现我在.properties文件中复制了很多东西,所以为了便于维护,我做了以下工作:
manager.ip=1.2.3.4
manager.bucket=manager-bucket1
manager.url=https://${manager.ip}/${manager.bucket}
当我使用新属性执行我的应用程序时,我得到一个IllegalArgumentException:
索引30处的路径中的非法字符:https://1.2.3.4/manager-bucket1
java.lang.IllegalArgumentException: Illegal character in path at index 30: https://1.2.3.4/manager-bucket1
at java.net.URI.create(URI.java:852)
at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:69)
at com.service.http.Get.<init>(Get.java:24)
at com.getaccesslogs.AccessCheckUrlConnectionsTest.checkAccessManagerUrl(AccessCheckUrlConnectionsTest.java:145)
at com.getaccesslogs.AccessCheckUrlConnectionsTest.logAccessManagerConnectionTest(AccessCheckUrlConnectionsTest.java:216)
Caused by: java.net.URISyntaxException: Illegal character in path at index 30: https://1.2.3.4/manager-bucket1
at java.net.URI$Parser.fail(URI.java:2822)
at java.net.URI$Parser.checkChars(URI.java:2995)
at java.net.URI$Parser.parseHierarchical(URI.java:3079)
at java.net.URI$Parser.parse(URI.java:3027)
at java.net.URI.<init>(URI.java:588)
at java.net.URI.create(URI.java:850)
我无法看到任何明显可能导致此问题的事情。它可能与文本编码有关,如果可以,我该如何解决这个问题呢?
答案 0 :(得分:0)
当VGR指出oout时,我的一条线的末尾有一个隐藏的空格字符。我通过将文件内容粘贴到Word中并单击“显示所有非打印characers”按钮来识别它。删除后,我的应用程序运行没有错误。