
A Jupyter kernel for executing Java code. The kernel executes code via the new JShell tool. Some of the additional commands should be supported in the future via a syntax similar to the ipython magics.
The kernel is fully functional. Check out the list of features further down in the README. Any requests for new ones or prioritizing current requests are welcomed in the issues along with bug requests, installation help, or other questions.
If you are interested in building your own kernel that runs on the JVM check out the related project that this kernel is build on, jupyter-jvm-basekernel.
For Maven dependency resolution, the kernel is using ShrinkWrap resolvers.
Clicking on the
badges at the top (or right here) will spawn a jupyter server running this kernel. The binder base is the ijava-binder project.
Currently the kernel supports

TAB in Jupyter notebook).

Shift-TAB up to 4 times in Jupyter notebook).




eval function. Note: the signature is Object eval(String) throws Exception. This evaluates the expression (a cell) in the user scope and returns the actual evaluation result instead of a serialized one.


Java JDK >= 9. Not the JRE. Java 11 is the current release and should be considered if selecting a version but if a java 9 or 10 build is installed, everything should still be working fine.
Ensure that the java command is in the PATH and is using version 9. For example:
bash
> java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
Next ensure that java is in a location where the jdk was installed and not just the jre. Us
$ claude mcp add IJava \
-- python -m otcore.mcp_server <graph>