Apache Commons JCI is a java compiler interface. It can be used to compile Java itself, or any other language that can be compiled to Java classes (e.g. groovy or javascript). It is well integrated with a FAM (FilesystemAlterationMonitor) that can be used with the JCI compiling/reloading classloader. All the currently supported compilers feature in-memory compilation.
More information can be found on the Apache Commons JCI homepage. The Javadoc can be browsed. Questions related to the usage of Apache Commons JCI should be posted to the user mailing list.
You can download source and binaries from our download page.
Alternatively, you can pull it from the central Maven repositories:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jci2</artifactId>
<version>2.0</version>
</dependency>
We accept Pull Requests via GitHub. The developer mailing list is the main channel of communication for contributors. There are some guidelines which will make applying PRs easier for us:
- No tabs! Please use spaces for indentation.
- Respect the code style.
- Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
- Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running
mvn clean test
.
If you plan to contribute on a regular basis, please consider filing a contributor license agreement. You can learn more about contributing via GitHub in our contribution guidelines.
This code is under the Apache License v2.
See the NOTICE.txt
file for required notices and attributions.
You like Apache Commons JCI? Then donate back to the ASF to support the development.
- Apache Commons Homepage
- Apache Issue Tracker (JIRA)
- Apache Commons Twitter Account
#apache-commons
IRC channel onirc.freenode.org