Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    55

    java.lang.NoClassDefFoundError

    Salve ho un oggetto COM, da utilizzare, scritto in java, dopo averlo registrato come tale sto provando ad utilizzarlo.

    Questo è il codice della pagina asp che sto usando

    codice:
    <%@ Language=VBScript %> 
    <%dim fso, mp, fs, regPath, Dummy, szFinal, szPara, szValue, mpResult
    regPath=Server.MapPath("./properties") 	
    set fso=server.CreateObject("Scripting.FileSystemObject")
    szFinal="":szPara="":szValue=""
    set FileStream=FSO.opentextfile(regPath & "/file.xxx",1)
    szValue="123456,zzzz,xxxyy,000001,100,978,N,http://miourl/paginaok.asp,http://mi...,click,N,00004"
    szPara="parametro1,userID,password,parametro2,parametro3,parametro4,parametro5,urlOk,urlKo,parametro6,parametro7,parametro8"
    do while not FileStream.AtEndOfStream 
    Dummy=FileStream.ReadLine 
    szFinal=szFinal & Dummy &  "
    "
    loop 	
    FileStream.close
    set FileStream=nothing 	
    set fso=nothing 	
    parameters=split(szPara,",") 	
    values=split(szValue,",") 	
    set mp=server.CreateObject("JAVAClass")
    mpResult=mp.openConnectionNew(parameters,values) 	
    set mp=nothing 	 
    %>
    Fino a quando non ho richiamato il metodo openConnectionNew(parameters,values)
    non ha generato errori, come dire che l'oggetto COM è stato trovato.

    Quando ho aggiunto la chiamata al metodo di cui sopra la pafina di errore di IIS con:

    "Eccezione Java (0x80004005)
    java.lang.NoClassDefFoundError"

    La classe java è stata copiata nella cartella window\java\trustlib\com\usi\utility
    Ho impostato nelle variabili di ambiente CLASSPATH=C:\windows\java\trustlib\
    La codepage della classe e: C:\windows\java\trustlib\com\usi\utility

    Dove sto sbagliando..
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    Come specifica l'errore non è possibile trovare la classe.Non ho capito bene se il package l'hai fatto tu.Anche io ho avuto lo stesso problema.A me dipendeva dal fatto che avevo sbgliato l'intestazione del package.Le classi all'interno del package sono pubbliche?Saluti.

  3. #3
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Ogni classe si deve trovare in un file che ha lo stesso nome della classe, con estensione java.Se scrivi una classe dentro al file di un' altra classe non sarà possibile trovarla.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    55
    Grazie.
    La classe mi è stata fornita da altri e ho solo un paio di esempi di utilizzo.
    Devo ammettere che mi sono rivolto a chi me la ha fornita e quando ho chiesto delucidazioni circa il suo utilizzo non ho ricevuto altro che risposte vaghe ed inconcludenti, bel modo di rapportarsi agli atri.

    Questo è un estratto dal codice di esempio

    codice:
    MACPoster mp = new MACPoster();
    openReturn = mp.openConnectionNew(parameters,values);
    if (openReturn) {
    macReturn = mp.sendFormDataNew();
    if (macReturn) {returnMessage = mp.getResult();}
    else {errorMessage = mp.getErrorMessage();}
    }
    else {errorMessage = mp.getErrorMessage();}
    come si può notare è veramento molto poco e per niente commentato.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    Scusa non sono molto esperto,il codice non basta per capire.Mi spiego meglio:
    il problema è che il compilatore non trova una classe che viene chiamata dal main.Quindi il problema si sposta sui package che includi.Da qualche parte dovresti avere un file jar all'interno del quale avere le classi che ti ha fatto questa persona di cui parli.Facci sapere meglio.Saluti.

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.