Skip to content

zielmicha/nimrod-java

Repository files navigation

Example code:

import javatools
importJava "java.lang.System"

# initialize new JVM
defaultJVM = newJVM()

let currtime = System_static.currentTimeMillis()
echo "Current time in milliseconds is: ", $currtime

In order to use nimrod-java binding you need to create build script, which will scan JAR files during compilation. This gives you compile time safety when interacting with Java classes.

Save the following to build.nim (for example):

import jnigen, jnifindjava, os
var builder: PBuilder = jnigen.makeBuilder("build/jnigen")
builder.addJAR(findJava() & "/jre/lib/rt.jar",
  prefixes=["java/lang"])
builder.generate()

discard execShellCmd("nimrod c " & builder.compileFlags() & " yourcode")

And use these commands to build and run your code:

nimrod c --path:pathToNimrodJava -d:useLibzipSrc -r build
./yourcode

About

Nimrod JNI interface

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published