You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Alton Idowu (JIRA)" <ji...@apache.org> on 2008/05/11 00:21:55 UTC
[jira] Updated: (CXF-1583) DynamicClientFactory.setupClasspath
method cannot handle spaces in path to jar file
[ https://issues.apache.org/jira/browse/CXF-1583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alton Idowu updated CXF-1583:
-----------------------------
Description:
The setupClasspath method in the DynamicClientFactory class cannot handle spaces in the path to jar files. It throws the following exception:
Caused by: java.net.URISyntaxException: Illegal character in path at index 16: file:/C:/Program Files/Apache/Tomcat-5.5.20/common/i18n/tomcat-i18n-en.jar
at java.net.URI$Parser.fail(URI.java:2816)
at java.net.URI$Parser.checkChars(URI.java:2989)
at java.net.URI$Parser.parseHierarchical(URI.java:3073)
at java.net.URI$Parser.parse(URI.java:3021)
at java.net.URI.<init>(URI.java:578)
at java.net.URL.toURI(URL.java:916)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.setupClasspath(DynamicClientFactory.java:405)
This is a know issue withthe URL.toURI() method.
A possible solution would be to replace the following:
if (url.getProtocol().startsWith("file")) {
try {
File file = new File(url.toURI().getPath());
if (file.exists()) {
classPath.append(file.getAbsolutePath())
.append(System
.getProperty("path.separator"));
}
if (file.getName().endsWith(".jar")) {
addClasspathFromManifest(classPath, file);
}
} catch (URISyntaxException e) {
throw new UncheckedException(e);
}
}
with
if (url.getProtocol().startsWith("file")) {
File file;
try {
file = new File(url.toURI().getPath());
} catch (catch catch(URISyntaxException urise) {
file = new File(url.getPath());
}
if (file.exists()) {
classPath.append(file.getAbsolutePath())
.append(System
.getProperty("path.separator"));
}
if (file.getName().endsWith(".jar")) {
addClasspathFromManifest(classPath, file);
}
}
was:
The setupClasspath method in the DynamicClientFactory class cannot handle spaces in the path to jar files. It throws the following exception:
Caused by: java.net.URISyntaxException: Illegal character in path at index 16: file:/C:/Program Files/Apache/Tomcat-5.5.20/common/i18n/tomcat-i18n-en.jar
at java.net.URI$Parser.fail(URI.java:2816)
at java.net.URI$Parser.checkChars(URI.java:2989)
at java.net.URI$Parser.parseHierarchical(URI.java:3073)
at java.net.URI$Parser.parse(URI.java:3021)
at java.net.URI.<init>(URI.java:578)
at java.net.URL.toURI(URL.java:916)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.setupClasspath(DynamicClientFactory.java:405)
This is a know issue withthe URL.toURI() method.
A possible solution would be to replace the following:
for (URL url : urls) {
if (url.getProtocol().startsWith("file")) {
try {
File file = new File(url.toURI().getPath());
with
for (URL url : urls) {
if (url.getProtocol().startsWith("file")) {
try {
File file;
try {
file = new File(url.toURI().getPath());
} catch catch(URISyntaxException urise) {
file = new File(url.getPath());
}
> DynamicClientFactory.setupClasspath method cannot handle spaces in path to jar file
> -----------------------------------------------------------------------------------
>
> Key: CXF-1583
> URL: https://issues.apache.org/jira/browse/CXF-1583
> Project: CXF
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.1
> Environment: Ubuntu 7.04, Windows XP, jdk 1.5_09, cxf 2.1
> Reporter: Alton Idowu
>
> The setupClasspath method in the DynamicClientFactory class cannot handle spaces in the path to jar files. It throws the following exception:
> Caused by: java.net.URISyntaxException: Illegal character in path at index 16: file:/C:/Program Files/Apache/Tomcat-5.5.20/common/i18n/tomcat-i18n-en.jar
> at java.net.URI$Parser.fail(URI.java:2816)
> at java.net.URI$Parser.checkChars(URI.java:2989)
> at java.net.URI$Parser.parseHierarchical(URI.java:3073)
> at java.net.URI$Parser.parse(URI.java:3021)
> at java.net.URI.<init>(URI.java:578)
> at java.net.URL.toURI(URL.java:916)
> at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.setupClasspath(DynamicClientFactory.java:405)
> This is a know issue withthe URL.toURI() method.
> A possible solution would be to replace the following:
> if (url.getProtocol().startsWith("file")) {
> try {
> File file = new File(url.toURI().getPath());
> if (file.exists()) {
> classPath.append(file.getAbsolutePath())
> .append(System
> .getProperty("path.separator"));
> }
>
> if (file.getName().endsWith(".jar")) {
> addClasspathFromManifest(classPath, file);
> }
> } catch (URISyntaxException e) {
> throw new UncheckedException(e);
> }
> }
> with
> if (url.getProtocol().startsWith("file")) {
> File file;
> try {
> file = new File(url.toURI().getPath());
> } catch (catch catch(URISyntaxException urise) {
> file = new File(url.getPath());
> }
> if (file.exists()) {
> classPath.append(file.getAbsolutePath())
> .append(System
> .getProperty("path.separator"));
> }
>
> if (file.getName().endsWith(".jar")) {
> addClasspathFromManifest(classPath, file);
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.