Skip to content

raulgomis/dynamic-java-compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is dynamic-java-compiler?

Build

Dynamic-java-compiler is a library that allows users to dynamically compile and execute any java source code. Writing dynamically executed Java applications require some boilerplate code: working with classloaders, compilation error handling, etc. The idea behind this library is to free you from this development and let you focus on your business logic.

How does it work?

The dynamic ompilation task is very simple with this library. Imagine we want to compile this source code introduced dynamically as a text string by the user:

public class Test01 implements Runnable {
	public void run() {
		System.out.println("Hello World!");
	}
}

So simple, we just need to instantiate the compiler and compile the code:

DynamicCompiler<Runnable> compiler = new DynamicCompiler<>();
// Read source code as String
Class<Runnable> clazz = compiler.compile(null, "Test01", source);
final Runnable r;
try {
    r = clazz.newInstance();
    r.run();
} catch (InstantiationException | IllegalAccessException e) {
    e.printStackTrace();
}

The final result will be:

Hello World!

Contribution

You are welcome to contribute to the project using pull requests on GitHub.

If you find a bug or want to request a feature, please use the issue tracker of Github.

About

Dynamic Java Compiler - Compile Java Code Snippets on demand from text sources

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages