Skip to main content

java command line tools (java, javac, jar)

javac used to compile source files (*.java)
javac [-options] files
java used to run a compiled code (*.class)
java [-options] class [args...]
jar used to archive files into JAR (*.jar)
jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files
In practise:
Source for Hello.java
package com.blogspot.programmerutilities;

public class Hello {

 public static void main (String[] args){
  System.out.println("Hello World!");
 }
}
Location of the file:
\src\com\blogspot\programmerutilities\Hello.java
Directory structure:
-src
   -com
      -blogspot
         -programmerutilities
            -Hello.java
-build
Compile source file using javac (-d option points to a directory where compiled files will be placed)
javac -d build \src\com\blogspot\programmerutilities\Hello.java
After compilation a Hello.class file will be placed in \build directory (and subdirectories accordingly to the package name).
-src
   -com
      -blogspot
         -programmerutilities
            -Hello.java
-build
   -com
      -blogspot
         -programmerutilities
            -Hello.class
To start this application go to \build (the directory directly above the outer directory of the package) and run java tool with a full name of the class (package and class name without an extension)
cd build
java com.blogspot.programmerutilities.Hello
// Prints "Hello World!"
To create java archive (JAR) run jar tool with a name of new created archive (hello.jar) and the most outer directory of the package name (com)
jar -cf hello.jar com
After that in \build directory the hello.jar file will be placed
-src
   -com
      -blogspot
         -programmerutilities
            -Hello.java
-build
   -com
      -blogspot
         -programmerutilities
            -Hello.class
   -hello.jar
To check the content of the jar run jar tool with -tf options (table of content and file name)
jar -tf hello.jar
To start an application using a jar file run java tool with -cp (or -classpath) option with a path to a jar and full name of a class
java -cp /build/hello.jar com.blogspot.programmerutilities.Hello
// Prints "Hello World!"

Comments

Popular posts from this blog

ShutDownHook - the last breath of an application

ShutDownHook allows you to perform operations (e.g. close opened resources, remove temporary files and so on) just before virtual machine shuts down. A documentation says that JVM may shut down in two cases: program finishes execution normally when all threads finishes their work (except deamon-threads like garbage collector) virtual machine receives a termination signal (for example after sending kill signal under unix or ctrl + C key combination under windows) Below is an example which will start endless loop which do nothing. But an important thing in this code is a part where shutDownHook is added. When an termination signal will be send to JVM a code from a run() method will be executed just before JVM shuts down. public class ShutDownHook { public static void main(String[] args) { Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { System.out.println("Close opened resources"); } }); while (true) { // do nothing } } }

Eclipse - shortcut keys

ctrl + O outline current class ctrl + L go to line ctrl + 3 entry point of everything ctrl + shift open resource ctrl + 1 quick fix (for example add import) ctrl + shift + o add all imports ctrl + shift + m add import ctrl + 2, L assign to local variable alt + shift + R rename ctrl + . next error ctrl + , prevoius error ctrl + m maximize text editor alt + shift + m extract method alt + shift + l extract local variable shift + enter new line before ctrl + shift + enter new line after ctrl + F3 outline selected class F3 open decalration (go to parent class) ctrl + H File search (rebinding) ctrl + shift + J generate javadoc F10 go to main menu bar shift + F10 context menu F12 activate editor shift + G find references in project ctrl + shift + G find references in workspace ctrl + shift + U find references in file ctrl + D delete line alt + up arrow move row or selection up alt + dow...

scala Hello World

The code below prints Hello World! Hello.scala file (a name of file doesn't matter) object HelloWorld { def main(args: Array[String]) { println("Hello World!") } } Key word object is used to create a singleton object. To run this script use scala interpretor (check scala command line tools ).