Commit d1274fb
Bundle commons-io with common.eval to satisfy commons-csv
commons-csv 1.12.0, bundled on common.eval's Bundle-ClassPath, has a hard
dependency on commons-io 2.17.0 (it references
org.apache.commons.io.output.AppendableOutputStream). That dependency was
never declared, so under strict OSGi classloading the bundle's classloader
cannot find the class, yielding a NoClassDefFoundError in a materialized
product even when a separate commons-io bundle is present.
The target platform is pure Eclipse update sites with no Orbit/commons
bundles, which is why commons-csv is bundled as a jar in the first place, so
depending on the org.apache.commons.csv bundle is not viable. Instead, bundle
commons-io 2.17.0 the same way commons-csv is bundled: self-contained, works
in both the IDE/test target and a materialized product, and private to this
bundle's classloader (not exported), so it does not split-package with a
product's own commons-io.
Fixes #64.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015jRmWZMAqpMDjsKmTATy3A1 parent 21b50bf commit d1274fb
6 files changed
Lines changed: 9 additions & 2 deletions
File tree
- edu.cuny.citytech.refactoring.common.eval
- META-INF
- lib
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
20 | 25 | | |
21 | 26 | | |
22 | 27 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
| 7 | + | |
Binary file not shown.
Binary file not shown.
Binary file not shown.
0 commit comments