Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 1.19 KB

README.adoc

File metadata and controls

26 lines (20 loc) · 1.19 KB

Maven Repo JBoss Modules

Uses Maven artifact resolution for defining modules for JBoss Modules. This is simplistic and doesn’t support a ton of JBoss Modules features but gets the job done if you want to just have modular classloading and artifacts downloaded from Maven repositories.

Usage

Module project = ProjectModule.build()
        .localRepository("~/custom/local/maven/repository")
        .addRemoteRepository("jboss", URI.create("https://repository.jboss.org/nexus/content/repositories/public/")
        .addDependency("com.acme:artifact:14.3")
        .addDependency("foo.bar:baz:0.10")
        .create();

        Class<?> acme = project.getClassLoader().loadClass("com.acme.artifact.Acme");
        ...

If you don’t specify the location of the local repository using the localRepository() builder method, the default ~/.m2/repository will be used. Maven Central repository is always present as a remote repository and you can add more using the addRemoteRepository() builder method.

You then merely define the dependencies of your "project" module and the artifacts will be resolved and available as modules with all the classloader isolation goodness JBoss Modules provides.