Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396

    Firmare applet

    Ciao, ho postato una discussione simile in questa sezione, ma visto che il problema è notevolmente cambiato, creo questa nuova discussione sperando di avere più risposte.
    Ho creato una applet che comunica con la porta seriale.
    Mi da questi errori quando provo a farla girare:
    codice:
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000] Exception in thread "Thread-6" java.lang.ExceptionInInitializerError 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.comm.NativeSerial.getTOSCommMap(NativeSerial.java:207) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.comm.TOSSerial.<init>(TOSSerial.java:282) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.SerialByteSource.openStreams(SerialByteSource.java:56) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.StreamByteSource.open(StreamByteSource.java:51) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.Packetizer.openSource(Packetizer.java:139) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.AbstractSource.open(AbstractSource.java:69) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.Packetizer.open(Packetizer.java:132) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at daniele.clienteSF$Ascoltatore.run(clienteSF.java:138) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.Thread.run(Thread.java:613) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000] Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.security.AccessController.checkPermission(AccessController.java:427) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.SecurityManager.checkExit(SecurityManager.java:744) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.Runtime.exit(Runtime.java:88) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.System.exit(System.java:869) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.comm.TOSCommLibraryLoader.load(TOSCommLibraryLoader.java:42) 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.comm.TOSCommJNI.<clinit>(TOSCommJNI.java:14)Server creato con successo! 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000] Server in attesa di richieste... 
    01/09/09 12:35:12 [0x0-0x5e05e].com.apple.Safari[2000]  ... 9 more
    Credo che il problema principale sia dettato dall'accesso negato dalla VM.
    Probabilmente devo inserire una firma digitale per far eseguire la applet in maniera corretta.
    Potete aiutarmi ad inserirla?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Firmare applet

    Originariamente inviato da Salinas
    Probabilmente devo inserire una firma digitale per far eseguire la applet in maniera corretta.
    Potete aiutarmi ad inserirla?
    http://java.html.it/articoli/leggi/1...are-un-applet/
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    Ho firmato l'applet con il keytool.
    Adesso simpaticamente l'applicazione mi ha riproposto gli stessi errori di prima:
    codice:
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000] serial@/dev/tty.usbserial-XBPWO3NPB:57600 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000] net.tinyos.packet.Packetizer@17d6c1 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000] Exception in thread "Thread-17" java.lang.NoClassDefFoundError 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.comm.NativeSerial.getTOSCommMap(NativeSerial.java:207) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.comm.TOSSerial.<init>(TOSSerial.java:282) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.SerialByteSource.openStreams(SerialByteSource.java:56) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.StreamByteSource.open(StreamByteSource.java:51) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.Packetizer.openSource(Packetizer.java:139) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.AbstractSource.open(AbstractSource.java:69) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at net.tinyos.packet.Packetizer.open(Packetizer.java:132) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at daniele.clienteSF$Ascoltatore.run(clienteSF.java:138) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.Thread.run(Thread.java:613) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000] Problemi di connessione! 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000] java.net.BindException: Address already in use 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.net.PlainSocketImpl.socketBind(Native Method) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.net.ServerSocket.bind(ServerSocket.java:319) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.net.ServerSocket.<init>(ServerSocket.java:185) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at java.net.ServerSocket.<init>(ServerSocket.java:97) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at daniele.clienteSF$Server.run(clienteSF.java:199) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000] Server creato con successo! 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000] Server in attesa di richieste... 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000] Exception in thread "Thread-18" java.lang.NullPointerException 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at daniele.clienteSF$Server.run(clienteSF.java:219) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at daniele.clienteSF$Server.run(clienteSF.java:219) 
    01/09/09 13:55:12 [0x0-0x5e05e].com.apple.Safari[2000]  at daniele.clienteSF$Server.run(clienteSF.java:219)
    Non so più che pesci prendere

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    Ho firmato l'applet, ma naturalmente non basta...
    Ho notato una cosa strana se prendo il mio progetto e cambio le frasi che si visualizzano inizialmente all'avvio dell'applet.
    Tipo: connessione al server... benvenuto.....
    Se cambio queste frasi, prendo il mio nuovo file.jar e lo metto nei file dell'applicazione html, quando eseguo l'applet questa rimane con le frasi vecchie.
    Come se il file.jar non fosse aggiornato. Come può succedere????
    In questo modo se faccio dei cambiamenti per includere i pacchetti che ci mancano, se il file.jar non si aggiorna (nonostante salvo), questi cambiamenti non si possono vedere! E il mio file continuerà sempre a non funzionare!

    Il mio file.jar lo vado a prendere nelle cartelle di netBeans.
    In particolare nella cartella NetBeansProjects/applet/dist dov'è salvata la mia applet.jar

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Salinas
    Se cambio queste frasi, prendo il mio nuovo file.jar e lo metto nei file dell'applicazione html, quando eseguo l'applet questa rimane con le frasi vecchie.
    Non basta fare un "refresh" della pagina. La JVM ormai ha caricato e tiene in memoria quelle classi di prima.
    Dovresti lanciare un nuovo processo del browser. O in alternativa aprire la Console Java e digitare 'x' che cancella la cache del classloader e quindi puoi fare refresh.
    L'hai fatto??
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    no, non l'ho fatto.
    Ma se volessi crearmelo io il mio file.jar?
    Credo che sarebbe la cosa migliore, in questo modo posso includere tutte le classi che voglio senza il dubbio che vengano dimenticate.

    Utilizzi il comando: jar cfv mio.jar percorso file
    ho visto che si crea una cartella MET-INF in automatico, con dentro il file MANIFEST.MF
    Va bene quella che si crea o devo modificarla?

    Le classi le posso includere nelle sottocartelle o devono essere tutti nella cartella principale?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    Mi appare quest'errore se provo a lanciare il .jar da me creato:

    codice:
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000] java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.Class.getDeclaredConstructors0(Native Method) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.Class.getConstructor0(Class.java:2671) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.Class.newInstance0(Class.java:321) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.Class.newInstance(Class.java:303) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at sun.applet.AppletPanel.createApplet(AppletPanel.java:723) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at sun.applet.AppletPanel.createApplet(AppletPanel.java:723) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1870) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at sun.applet.AppletPanel.runLoader(AppletPanel.java:652) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at sun.applet.AppletPanel.run(AppletPanel.java:326) 
    01/09/09 15:54:13 [0x0-0x5e05e].com.apple.Safari[2000]  at java.lang.Thread.run(Thread.java:613)

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    Ho pulito e ricreato il file .jar con netBeans.
    Adesso però non ho la mia classe principale appena apri il jar ma in una sua sottocartella.
    Il file html non lo trova più.
    Per esempio, prima era clientSF.class
    Adesso dovrebbe essere daniele.clienteSF.class

    MA non va bene.

    Ecco come ho scritto l'html:
    codice:
    <html>
    <head>
    <title>
    Applicazione del clientSF
    </title>
    </head>
    <body>
      <div align="center">
    
    
    APPLET SF - test 
    
    
    <applet
      codebase = "."
      code     = "daniele.clienteSF.class"
    ARCHIVE="SignedApplet.jar, swing-layout-1.0.3.jar"
      name     = "Test"
      width    = "720"
      height   = "500"
      hspace   = "0"
      vspace   = "0"
      align    = "middle"
    >
    </applet>
    </body>
    </html>
    Cosa posso scrivere per far capire che il mio clienteSF.class si trova nella cartella daniele dentro il mio jar???

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    Ho risolto, ma cmq le classi non le trova tutte.
    Non trova le classi di una libreria che ho dovuto includere sul netBeans per far girare la mia applet.
    Io pensavo che bastasse includere tale libreria nel file html, come ho fatto per le librerie swing, ma non è così.
    Sarà forse perchè la swing è proprio una libreria, mentre quella che utilizzo io è un file .jar

    Sapete se c'è un altro metodo per includere correttamente un file.jar alla mia applet in modo che riconosca le sue classi e metodi?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396

    [RISOLTO]

    Ho provato a far girare l'applet sotto firefox invece che sotto safari e funziona.

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.