node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org ยป


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 run

... | j        arg, arg | ...

Now you can.

  • Get NodeJS >= 0.8.0
  • npm install -g javaq
  • Add alias j='javaq' to your profile

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, .classs 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.


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.