Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    11

    Java Prompt dei comandi

    Buongiorno a tutti,
    invoco sempre il vostro prezioso aiuto, questa volta sulla compilazione tramite il Prompt dei comandi.
    Ho un procedura che richiede l'accesso tramite login e password.
    La mia necessità è di far partire una classe tramite un bat situata nella procedura su indicata.
    Quando provo a lanciare il seguente comando:

    java -jar C:\tmp\NetBeans\ProjectTest\dist\Test.jar StartSchedulazione.java

    La procedura si apre e richiede i parametri di accesso senza lanciarmi direttamente la classe indicata che a sua volta ha un semplice main con un metodo.
    Come posso baipassare la classe principale e far funzionare direttamente quella indicata?
    Spero di essere stato chiaro
    Grazie in anticipo
    Luca

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    [...]
    Spero di essere stato chiaro
    [...]
    non si capisce niente.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    spero non usi un bat con path su temp...cmq quando crei il jar, il manifest contiene importanti info tra le quali la main class: specifica lì la main class e non hai bisogno di specificarla ogni volta.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    11
    Allora,
    la Main Class è già definita all'interno del file jar.
    La mia esigenza è di far avviare, dall'esterno, una classe java situata all'interno del file jar.
    Avevo pensato di creare un file bat e puntare direttamente a quella classe, ma, tale operazione non avviene. Appena lancio il bat si apre il programma e mi chiede di inserire le credenziali di accesso, mentre la classe che, si dovrebbe aprire, ha una semplice funzione di scrittura di un file.
    Come faccio a baipassare l'apertura del programma e far avviare solo questa classe?
    Il programma si avvia perchè la Main Class è il Login.
    Spero di essere stato chiaro, mi rendo conto che la problematica potrebbe sembrare contorta.

  5. #5
    La classe che parte quando si esegue un jar è quella contenuta nella voce Main-Class: del manifest.mf che pertanto deve contenere anche il metodo main(). Per quanto ne so se vuoi che in fase di esecuzione del jar venga eseguite una classe differente devi necessariamente modificare il parametro Main-Class: di tale file inserendo la main class.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    no, non sei chiaro.
    Allora il punto è che ogni programma ha un punto di accesso e questo è dato dalla main class. Nel tuo caso, se ho capito bene, vuoi un programma che 9 volte su 10 parta dalla login, e ogni tanto parta (con te che glielo vai a specificare) da una scrivi file e soprattutto capisca tutto questo in automatico.

    Sbaglio?

    A sto punto non mettere main-class nel manifest e valla a specificare ogni volta che richiami il jar

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    11
    No allora,
    il programma è diviso in due blocchi.
    il primo è formato dall'interfaccia grafica che si avvia regolarmente quando si lancia il jar.
    All'interno del jar ho creato un'altro package che contiene una classe, di nome "schedulazione", al suo interno lancia un metodo che va a fare dei controlli su un database e scrive un file.
    La mia esigenza è schedulare l'esecuzione di questa classe.
    Dato che, non mi va di creare una parte di schedulazione all'interno dell'applicazione, o lasciarla aperta, la vorrei tenere chiusa e dall'esterno tramite file bat mi vado a lanciare solo la classe che mi effettua il controllo.
    L'interfaccia grafica serve solo in fase di configurazione e stampe.
    Il problema nasce con il comando che vi ho indicato all'inizio, mi apre l'interfaccia grafica, bloccandomi l'esecuzione diretta della classe chiedendomi le credenziali di accesso.
    Come posso ovviare a tale problema?
    Grazie per la pazienza!!!!!!!!!!!!!

    n.b. Il Main-Class è settato correttamente, esegue la classe principale per l'avvio dell'iterfaccia grafica.

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    .java è sicuramente sbagliato: non serve a niente (comunque si tratta lanciare in esecuzione un programma, ovvero codice compilato) quindi in quella maniera in ogni caso non andrebbe. Altra considerazione: è' una mezza "pecionata", però magari così va:

    codice:
    java -cp tuo_jar.jar tuaClasseMain
    in definitiva, aggiungi al classpath il tuo archivio jar, e automaticamente la VM andrà a cercare anche lì dentro la classe "tuaClasseMain"
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    il jar è creato...scusa allora, separa logicamente i due blocchi, non è mai buona cosa mettere insieme robe che hanno vita indipendente.

    In generale devi avviare la schedulazione (che parlando di scheduler vedo robe che programma e fa in modo indipendente) e poi la parte grafica che è solo di accesso per l'utente.

    In quel caso 2 jar, uno solo grafico, uno per la schedulazione

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    11
    ok, ho creato 2 jar per i due applicativi e funziona bene.
    Grazie per l'aiuto e per la pazienza.
    Luca

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.