Javando...

appunti sviluppando in Java

Powered by Blogger.
  • Home
  • ?
script

JAR: Could not find main class

Javatore lunedì 26 settembre 2011 No Comments
     Oggi voglio scrivere di un problema in cui può essersi imbattuto chiunque abbia provato a creare uno script batch a partire da un progetto java:

    "Could not find main class ...."

Controllate e ricontrollate il file MANIFEST e il package e il nome della classe sono corretti...cosa diamine può essere?
La cosa più stupida del mondo...il file MANIFEST deve terminare con una riga completamente vuota. Ebbene si, è così. Al proposito c'è una nota importante nella documentazione ufficiale sulla sintassi del file MANIFEST.

Creare uno script batch in ambiente Windows
A questo punto, visto che ci siamo, vediamo come possiamo lanciare il nostro main da uno script batch nella maniera più pulita possibile.
Nella cartella principale dei sorgenti, sotto la dir "META-INF" andiamo ad editare il file "MANIFEST.MF":
   Manifest-Version: 1.0
   Main-Class: it.test.Test
   Class-Path: lib/ojdbc14.jar lib/log4j-1.2.16.jar
Oltre ad indicare il nome completo della classe main, andiamo a specificare con il class-path tutte le librerie necessarie al nostro progetto. Rispetto alla posizione che occuperà il jar prodotto per il nostro progetto le librerie si troveranno nella cartella "lib".
A questo punto esportiamo il nostro progetto come file jar (ad esempio tramite eclipse) avendo l'accortenza di specificare l'uso di un file MANIFEST esistente, quello che abbiamo appena editato.

Dopodichè creaiamo una cartella per contenere tutto quanto necessario al nostro batch, con l'alberatura mostrata in figura:



All'interno della cartella "bin" andremo a disporre il file jar creato e a creare una sotto-cartella "lib" dove disporremo tutte le librerie indicate nel class-path.

A questo punto editiamo lo script batch vero e proprio, test.bat, come di seguito:
   set currentdate=%DATE:~-4%_%DATE:~3,2%_%DATE:~0,2%
   set currenttime=%TIME:~0,2%_%TIME:~3,2%_%TIME:~6,2%_%TIME:~9,2%
   set timestamp=%currentdate%H%currenttime%
   java -Dlog4j.configuration=file:log4j.xml -jar bin/Test.jar testParameter > log/test-%timestamp%.log
Lo script specifica il file di configirazione per il log (usiamo log4j), il nostro jar da richiamare, "Test.jar", un parametro per il main il cui valore è "testParameter" ed infine redirige l'output della console verso un file di log nell'omonima cartella.
Javatore

You May Also Like

  • JAR: Could not find main class

    • Previous Java: parsing delle date con controllo di validità
    • Next You are viewing Most Recent Post
    Pubblicato da Javatore
    Invia tramite emailPostalo sul blogCondividi su XCondividi su FacebookCondividi su Pinterest
    Etichette: batch, Could not find main class, MANIFEST, script

    Nessun commento:

    Posta un commento

    Post più vecchio Home page
    Iscriviti a: Commenti sul post (Atom)

    Author

    Like Us

    Labels

    batch (1) Could not find main class (1) file properties (1) garbage collector (1) GC (1) getResourceAsStream (1) heap (1) jar (1) Java (2) jvm (1) MANIFEST (1) parsing date (1) script (1) SimpleDateFormat (1)

    Popular Posts

    • JAR: Could not find main class
           O ggi voglio scrivere di un problema in cui può essersi imbattuto chiunque abbia provato a creare uno script batch a partire da un pr...
    • Java: parsing delle date con controllo di validità
          A chi non è mai capitato di dover parsare una stringa per convertirla in un oggetto Date ? La cosa è abbastanza banale in Java mediant...
    • JVM: Gestione heap
          P er chi sviluppa in Java prima o poi arriva il momento di confrontarsi con problemi di tuning della JVM, in particolare dei parametri i...
    • Java: caricare una risorsa interna in una applicazione esportata come JAR
           I n questi giorni mi sono imbattuto nel seguente problema: ho realizzato una applicazione che fa uso di un file di properties , l'h...
    • Il primo post
      E ccolo! Vi presento il primo post di Javando . Ho aperto questo blog perché mi sono accorto che spesso, durante lo sviluppo di software in...

    Javando

    appunti sviluppando in Java

    Pagine

    • Home page
    • Chi è Javatore?

    I più popolari

    • Java: parsing delle date con controllo di validità
          A chi non è mai capitato di dover parsare una stringa per convertirla in un oggetto Date ? La cosa è abbastanza banale in Java mediant...
    • Java: caricare una risorsa interna in una applicazione esportata come JAR
           I n questi giorni mi sono imbattuto nel seguente problema: ho realizzato una applicazione che fa uso di un file di properties , l'h...
    • JVM: Gestione heap
          P er chi sviluppa in Java prima o poi arriva il momento di confrontarsi con problemi di tuning della JVM, in particolare dei parametri i...
    • JAR: Could not find main class
           O ggi voglio scrivere di un problema in cui può essersi imbattuto chiunque abbia provato a creare uno script batch a partire da un pr...
    • Il primo post
      E ccolo! Vi presento il primo post di Javando . Ho aperto questo blog perché mi sono accorto che spesso, durante lo sviluppo di software in...
    Created by -Way2themes - | Distributed By Gooyaabi Templates
    • HOME
    • ?