You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rewrite README with usage, status and version guidance
Adds what the library does - realms as a directed graph rather than a
hierarchy, which is how Maven isolates plugins - plus the launcher, a
dependency snippet, the Java baseline and documentation links.
The Backward Compatibility section is kept verbatim. It is the most
valuable documentation in the organisation: it records why the legacy
org.codehaus.classworlds package cannot be removed, which Sisu bytecode
references it, and the PR that tried and had to be reverted. The
skeleton is built around it rather than over it.
Drops the 2015 'current master is now at' line.
Part of codehaus-plexus/.github#58
[](http://www.apache.org/licenses/)
Current master is now at https://github.com/codehaus-plexus/plexus-classworlds
8
+
A classloader framework for container developers who need more than Java's built-in hierarchy.
10
9
11
-
Backward Compatibility
12
-
----------------------
10
+
Classworlds replaces the strict parent-child classloader tree with a pool of **realms** that can import
11
+
specific packages from each other — a directed graph rather than a hierarchy. That is how Maven keeps a
12
+
plugin's dependencies from colliding with its own, and how it loads plugins in isolation from one another.
13
+
14
+
It also ships a [launcher](https://codehaus-plexus.github.io/plexus-classworlds/launcher.html) that builds
15
+
the realms from a configuration file and invokes an application's `main` method in the right one. Maven's
16
+
own startup scripts use it.
17
+
18
+
## Status
19
+
20
+
Maintained, conservatively. Maven's startup depends on this, so changes are deliberate and public API is
21
+
kept compatible.
22
+
23
+
## Using it
24
+
25
+
```xml
26
+
<dependency>
27
+
<groupId>org.codehaus.plexus</groupId>
28
+
<artifactId>plexus-classworlds</artifactId>
29
+
<version>2.12.0</version>
30
+
</dependency>
31
+
```
32
+
33
+
Check the badge above for the current version.
34
+
35
+
## Requirements
36
+
37
+
Java 8 or later.
38
+
39
+
## Backward Compatibility
13
40
14
41
This project maintains a legacy compatibility layer in the `org.codehaus.classworlds` package.
15
42
This package **cannot be removed** without coordinating with the Eclipse Sisu and Apache Maven teams.
@@ -24,3 +51,17 @@ PR #141 removed this package and had to be reverted immediately (see commit 2234
24
51
New code should use the `org.codehaus.plexus.classworlds` package.
25
52
See [COMPATIBILITY.md](COMPATIBILITY.md) for the full picture, including what Sisu references
26
53
and what is required before any future removal can be considered.
54
+
55
+
## Documentation
56
+
57
+
-[Project site](https://codehaus-plexus.github.io/plexus-classworlds/) — including [API usage](https://codehaus-plexus.github.io/plexus-classworlds/apiusage.html) and the [launcher](https://codehaus-plexus.github.io/plexus-classworlds/launcher.html)
0 commit comments