citrusframework / citrusframework/citrus

Nested jar support broken

Open
#1,725 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
485
Forks
155
Avg merge
2d 10h
Merged PRs (30d)
7

Description

**Citrus Version**: 5.0.1

**Expected behavior**
Citrus dependencies can be loaded from a nested jar.

**Actual behavior**
Starting the Citrus runtime from a nested jar fails with

java.nio.file.InvalidPathException: Illegal char <:> at index 5: ested:/path/to/fat.jar/!BOOT-INF/lib/citrus-api-5.0.1.jar!

**Reason**
ResourcePathReferenceResolver assumes the prefix file:, but is actually jar:nested:

https://github.com/citrusframework/citrus/blob/v5.0.1/core/citrus-api/src/main/java/org/citrusframework/spi/ResourcePathTypeResolver.java#L118

Contributor guide

Open the contributing guide

Research direction

Start at ResourcePathTypeResolver.java around line 118 and reproduce the Citrus runtime failure when dependencies are loaded from a nested jar. Trace how the jar:nested: resource path is resolved, then verify that the runtime can load citrus-api from the nested jar without InvalidPathException.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
75/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.