클래스로더 커스터마이징 오픈소스 JCL을 소개합니다.
JAR파일을 런타임 도중 동적으로 로드, 언로드 할 수 있는 ClassLoader를 개선한 오픈소스입니다.
2016년에 Core 2.8버전까지 maven에 올라와 있으며 총 Usage는 26 정도입니다.
클래스로더를 커스터마이징 할 때 참고하기 좋을 것 같습니다.
GitHub 주소는 :
JDK 1.5 이상을 필요로 하며 GITHUB에 간단한 예제 코드를 제공하고 있습니다.
런타임 도중 동적으로 Jar파일을 할당할 기회가 생기면 한번 활용해 보시기를 추천드립니다.
아래는 jar파일을 동적으로 할당할 수 있는 Github 소개의 튜토리얼 예시입니다.
JarClassLoader jcl = new JarClassLoader();
//Loading classes from different sources
jcl.add("myjar.jar");
jcl.add(new URL("http://myserver.com/myjar.jar"));
jcl.add(new FileInputStream("myotherjar.jar"));
jcl.add("myclassfolder/");
//Recursively load all jar files in the folder/sub-folder(s)
jcl.add("myjarlib/");
JclObjectFactory factory = JclObjectFactory.getInstance();
//Create object of loaded class
Object obj = factory.create(jcl, "mypack.MyClass");