@@ -41,16 +41,16 @@ A flexible Java ClassLoader that can load classes from 34+ transport protocols w
4141``` xml
4242<dependency >
4343 <groupId >org.flossware</groupId >
44- <artifactId >jclassloader </artifactId >
44+ <artifactId >classloader-java </artifactId >
4545 <version >1.1</version >
4646</dependency >
4747```
4848
4949### Building from Source
5050
5151``` bash
52- git clone https://github.com/FlossWare/jclassloader .git
53- cd jclassloader
52+ git clone https://github.com/FlossWare/classloader-java .git
53+ cd classloader-java
5454mvn clean install
5555```
5656
@@ -59,7 +59,7 @@ mvn clean install
5959### Basic Local Class Loading
6060
6161``` java
62- import org.flossware.jclassloader .JClassLoader ;
62+ import org.flossware.classloader-java .JClassLoader ;
6363
6464JClassLoader loader = JClassLoader . builder()
6565 .addLocalSource(" /path/to/classes" )
@@ -83,7 +83,7 @@ Class<?> myClass = loader.loadClass("com.example.MyClass");
8383### Remote Class Loading with Authentication
8484
8585``` java
86- import org.flossware.jclassloader .AuthConfig ;
86+ import org.flossware.classloader-java .AuthConfig ;
8787
8888// Basic Authentication
8989AuthConfig basicAuth = AuthConfig . basic(" username" , " password" );
@@ -122,7 +122,7 @@ JClassLoader ftpsLoader = JClassLoader.builder()
122122#### Loading from Nexus Raw Repository
123123
124124``` java
125- import org.flossware.jclassloader .AuthConfig ;
125+ import org.flossware.classloader-java .AuthConfig ;
126126
127127// Public Nexus raw repository
128128JClassLoader loader = JClassLoader . builder()
@@ -141,8 +141,8 @@ JClassLoader authLoader = JClassLoader.builder()
141141Load classes from JAR files stored as Maven artifacts:
142142
143143``` java
144- import org.flossware.jclassloader .MavenNexusClassSource ;
145- import org.flossware.jclassloader .MavenArtifact ;
144+ import org.flossware.classloader-java .MavenNexusClassSource ;
145+ import org.flossware.classloader-java .MavenArtifact ;
146146
147147// Create a Maven Nexus source with specific artifacts
148148MavenNexusClassSource nexusSource = MavenNexusClassSource . builder()
@@ -187,7 +187,7 @@ MavenNexusClassSource tokenSource = MavenNexusClassSource.builder()
187187#### Working with Maven Artifacts
188188
189189``` java
190- import org.flossware.jclassloader .MavenArtifact ;
190+ import org.flossware.classloader-java .MavenArtifact ;
191191
192192// Parse Maven coordinates
193193MavenArtifact artifact = MavenArtifact . parse(" org.example:my-lib:1.0.0" );
@@ -205,9 +205,9 @@ String path = artifact.toPath(); // org/example/my-lib/1.0.0/my-lib-1.0.0.jar
205205### Using Cache
206206
207207``` java
208- import org.flossware.jclassloader .cache.FileSystemCache ;
208+ import org.flossware.classloader-java .cache.FileSystemCache ;
209209
210- FileSystemCache cache = new FileSystemCache (" /tmp/jclassloader -cache" );
210+ FileSystemCache cache = new FileSystemCache (" /tmp/classloader-java -cache" );
211211
212212JClassLoader loader = JClassLoader . builder()
213213 .addRemoteSource(" https://example.com/classes/" )
@@ -258,7 +258,7 @@ Load classes from cloud storage providers using the [jcloudstorage](https://gith
258258``` java
259259import org.flossware.cloud.storage.CloudStorageClient ;
260260import org.flossware.cloud.storage.S3CloudStorageClient ;
261- import org.flossware.jclassloader .CloudStorageClassSource ;
261+ import org.flossware.classloader-java .CloudStorageClassSource ;
262262
263263// Create cloud storage client
264264CloudStorageClient s3 = S3CloudStorageClient . builder()
@@ -303,7 +303,7 @@ Load classes via file transfer protocols using [jfiletransfer](https://github.co
303303``` java
304304import org.flossware.filetransfer.FileTransferClient ;
305305import org.flossware.filetransfer.SftpFileTransferClient ;
306- import org.flossware.jclassloader .FileTransferClassSource ;
306+ import org.flossware.classloader-java .FileTransferClassSource ;
307307
308308// SFTP example
309309FileTransferClient sftp = SftpFileTransferClient . builder()
@@ -335,7 +335,7 @@ Load classes from messaging systems using [jmessaging](https://github.com/FlossW
335335``` java
336336import org.flossware.messaging.MessageClient ;
337337import org.flossware.messaging.KafkaMessageClient ;
338- import org.flossware.jclassloader .MessageClientClassSource ;
338+ import org.flossware.classloader-java .MessageClientClassSource ;
339339
340340// Kafka example
341341MessageClient kafka = KafkaMessageClient . builder()
@@ -365,7 +365,7 @@ Load classes from containers using [jcontainer](https://github.com/FlossWare/jco
365365``` java
366366import org.flossware.container.ContainerClient ;
367367import org.flossware.container.KubernetesContainerClient ;
368- import org.flossware.jclassloader .ContainerClientClassSource ;
368+ import org.flossware.classloader-java .ContainerClientClassSource ;
369369
370370// Kubernetes ConfigMap example
371371ContainerClient k8s = KubernetesContainerClient . builder()
@@ -394,7 +394,7 @@ Load classes from version control using [jvcs](https://github.com/FlossWare/jvcs
394394``` java
395395import org.flossware.vcs.VcsClient ;
396396import org.flossware.vcs.GitVcsClient ;
397- import org.flossware.jclassloader .VcsClientClassSource ;
397+ import org.flossware.classloader-java .VcsClientClassSource ;
398398
399399// Git repository example
400400VcsClient git = GitVcsClient . builder()
@@ -488,7 +488,7 @@ JClassLoader verboseLoader = JClassLoader.builder()
488488Track loaded classes and resources for cleanup (useful for hot-reload, plugin unloading, etc.):
489489
490490``` java
491- import org.flossware.jclassloader .lifecycle.ResourceTrackingListener ;
491+ import org.flossware.classloader-java .lifecycle.ResourceTrackingListener ;
492492
493493ResourceTrackingListener tracker = new ResourceTrackingListener ();
494494
@@ -514,8 +514,8 @@ tracker.closeAllResources();
514514Implement your own listener for custom monitoring:
515515
516516``` java
517- import org.flossware.jclassloader .lifecycle.ClassLoaderLifecycleListener ;
518- import org.flossware.jclassloader .lifecycle.ClassLoadEvent ;
517+ import org.flossware.classloader-java .lifecycle.ClassLoaderLifecycleListener ;
518+ import org.flossware.classloader-java .lifecycle.ClassLoadEvent ;
519519
520520ClassLoaderLifecycleListener myListener = new ClassLoaderLifecycleListener () {
521521 @Override
@@ -613,7 +613,7 @@ JClassLoader has **463 comprehensive unit tests** achieving **46% instruction co
613613- ✅ ** Critical paths** : All main use cases and builder patterns extensively tested
614614
615615** What is NOT fully tested (and why):**
616- - ❌ ** Example code** (0% coverage in ` org.flossware.jclassloader .example ` ): These are demo applications, not production code. Testing them would verify example syntax, not library functionality.
616+ - ❌ ** Example code** (0% coverage in ` org.flossware.classloader-java .example ` ): These are demo applications, not production code. Testing them would verify example syntax, not library functionality.
617617- ❌ ** Deep integration scenarios** (66% coverage in messaging): Full integration tests with real Kafka, RabbitMQ, Redis, etc. would require running external infrastructure. We use mocks for unit tests and rely on real-world usage for integration validation.
618618- ❌ ** Error recovery edge cases** : Some network timeout paths, exotic authentication failures, and rare filesystem conditions are difficult to trigger reliably in unit tests.
619619- ❌ ** External system quirks** : Vendor-specific behaviors (Nexus API variations, messaging broker retry logic) are validated through manual testing and production usage.
@@ -626,13 +626,13 @@ JClassLoader has **463 comprehensive unit tests** achieving **46% instruction co
626626
627627** Coverage by package:**
628628```
629- org.flossware.jclassloader (core) 53% ✅ Primary use cases
630- org.flossware.jclassloader .cache 83% ✅ High reliability needed
631- org.flossware.jclassloader .lifecycle 82% ✅ Critical for monitoring
632- org.flossware.jclassloader .delegation 85% ✅ Core isolation feature
633- org.flossware.jclassloader .protocol 100% ✅ Complete coverage
634- org.flossware.jclassloader .messaging 66% ⚠️ Kafka/RabbitMQ mocked
635- org.flossware.jclassloader .example 0% ❌ Demo code, not tested
629+ org.flossware.classloader-java (core) 53% ✅ Primary use cases
630+ org.flossware.classloader-java .cache 83% ✅ High reliability needed
631+ org.flossware.classloader-java .lifecycle 82% ✅ Critical for monitoring
632+ org.flossware.classloader-java .delegation 85% ✅ Core isolation feature
633+ org.flossware.classloader-java .protocol 100% ✅ Complete coverage
634+ org.flossware.classloader-java .messaging 66% ⚠️ Kafka/RabbitMQ mocked
635+ org.flossware.classloader-java .example 0% ❌ Demo code, not tested
636636```
637637
638638** Running coverage reports:**
0 commit comments