Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [JAVA] Problemi in compilazione

    Buongiorno,

    per ottenere il file .class della mia applicazione ho eseguito il comando javac.

    Ho ottenuto diversi errori del tipo:

    package javax.servlet.http does not exist

    come se non trovasse la libreria.

    Ho importato le librerie usando, in preferenze, l'opzione

    addExternalJars

    ma evidentemente non vengono trovati.

    Se invece, com'è normale, provo il run, l'applicazione va benissimo.

    Come faccio a risolvere il problema?

  2. #2
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Stai compilando da linea di comando? Se non sono settate come variabile d'ambiente "CLASSPATH" devi indicargli dove recuperare le librerie. Sotto Tomcat (versione 4.1, con cui devo lavorare) lancio:

    javac -classpath C:\Tomcat\common\lib\servlet.jar nome_servlet.java

  3. #3
    Ok, ho risolto qualche problema... Gli errori da 18 sono diventati 4.

    Però altre libreire, come

    package org.apache.commons.logging does not exist

    non vengono viste.

    Da quello che mi hai detto, è possibile o editare il classpath oppure, come sto facendo io, eseguire javac da linea di comando.

    Però come faccio a specificare più path per i jar?

  4. #4
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Sia come variabile d'ambiente di sistema, sia come parametro di javac puoi specificare più .jar separandoli con un punto e virgola:

    file1.jar;file2.jar;file3.jar

    EDIT: quindi: javac -classpath file1.jar;file2.jar;file3.jar TuoFile.java. L'ordine è significativo, ossia il compilatore ricerca sequenzialmente fino a trovare la classe corretta.

    Per quanto riguarda il package che mi segnali, nella mia installazione di Tomcat (ti ricordo, 4.1) l'ho trovato sotto il path
    C:\Tomcat\common\lib\commons-logging-api-1.1.1.jar

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    ma non sarebbe molto più semplice e meno dispendioso far puntare la classpath alla cartella lib della tua JDK?

  6. #6
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Funziona per includere i .class presenti in una directory... gli archivi .jar devi passarglieli esplicitamente

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    ah vero!scusate la mia dimenticanza

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.