Skip to content

fix: resolve %20-encoded spaces in classpath resource paths - #227

Open
YoungMind1 wants to merge 1 commit into
Cloudslab:masterfrom
YoungMind1:fix-path-error-when-space-on-classpath
Open

fix: resolve %20-encoded spaces in classpath resource paths#227
YoungMind1 wants to merge 1 commit into
Cloudslab:masterfrom
YoungMind1:fix-path-error-when-space-on-classpath

Conversation

@YoungMind1

@YoungMind1 YoungMind1 commented Jul 23, 2026

Copy link
Copy Markdown

Disclaimer: I have used AI for this PR.

When the repository is cloned into a directory whose name contains spaces (e.g. ~/my projects/cloudsim), ClassLoader.getResource(name).getPath() returns a URL path string with those spaces encoded as %20. Passing that
string directly to new File(...) or to file-reading APIs fails silently or with a NullPointerException, because the literal %20 is not a valid filesystem path component.
Symptoms:
• mvn clean install fails in UtilizationModelPlanetLabInMemoryTest with a test error.
• Running any power/planetlab, container, or network example crashes immediately (I ran them via java -cp 'dependency list' classpath

Paths.get() only understands file: URIs. When running from a JAR, toURI() returns a jar:file:/... URI — and the
default NIO filesystem provider doesn't know how to handle it. hence URLDecoder is used

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant