Skip to content
Run .java files as easily as you run .{py,rb,coffee} files
CoffeeScript Java Ruby
Find file
New pull request
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

You know how simple it is to run:

... | python          arg, arg | ...
... | ruby    foo.rb          arg, arg | ...
... | node    foo.js          arg, arg | ...
... | coffee      arg, arg | ...

You've wished you could do the same with .java files.

Now you can!

... | javaq        arg, arg | ...


  • Get NodeJS >= 0.8.0
  • npm install -g javaq

What if I'm lazy and don't want to specify which .java to run?

Then don't. If exactly one of the .java files in ls -lR . contains a main, javaq will run that one.

Is it as slow as javac ... && java ...?

Currently, yes.

Soon, .class files will be cached.

I want to eventually shave off every possible millisecond.

Which .java files get compiled?

Everything in ls -lR .. Later, this will be limited to those needed to run the main class.


These must be specified before the first argument that matches /\.java$/. Otherwise they will be passed on to the program you're running. arguments matching ^-Xmx are passed to java.


Optional. Defaults to ~/Library/Application Support/javaq/builds. javaq will use this folder as it sees fit.


Optional. A folder containing JARs. Defaults to ~/Library/jars if that exists. Those JARs will be on the -classpath when running javac and java.

Something went wrong with that request. Please try again.