java ile basit bir uygulama ve jar
openjdk:11.0.8-jdk image ile çalışırken bir jar dosyası ihtiyacım oldu. Dockerfile hazır ama jar uygulamam yok.
uyg.java
class uyg {public static void main(String[] args) throws InterruptedException {
System.out.println("uyg basladi...");
Thread.sleep(200000);
System.out.println("uyg bitti...");}}
Bu kodu derlemek için aşağıdaki komut yeterli .class (binary olmayan kod hazır) ama nasıl jar file yapacağız?
$ javac uyg.java
$ jar cf uyg.jar uyg.class
tabi burada .jar file çalıştırırken hata alırsınız cünkü hangi class main fonksyonu içeriyor bilgisini vermediniz. bunun için bir klasör ve MANIFEST.MF dosyasına ihtiyacınız vardır.
$ cat META-INF/MAINFEST.MF
Main-Class: uyg
$ jar cmvf META-INF/MAINFEST.MF uyg.jar uyg.class ….(varsa diger clsslar.)
$ java -jar uyg.jar
uyg basladi…
Sonuçta çalışan bir jar uygulamanız var. aslında zip edilmiş bir dosyasdır.
unzip uyg.jar