Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente bannato
    Registrato dal
    May 2001
    Messaggi
    460

    ClassLoader che non carica classi...

    Una volta caricato un file.jar lo devo aprire prendere la classe, crearne un'istanza e invocarne un metodo.

    Ho seguito le istruzioni di un sito ma qualcosa non quadra.

    Codice PHP:
    private void Details(String fileName){
            
    FileInputStream fis null;
            {
                
    JarInputStream jacr null;
                try {
                    
    FileOutputStream fos null;
                    Class 
    null;
                    
    fis = new FileInputStream(toAbsolutePath(fileName));
                    
    jacr = new JarInputStream(fis);
                    

                    
                    
    URLClassLoader urlLoader getURLClassLoader(new URL("file"null,toAbsolutePath(fileName) ));

                    
    JarEntry entry jacr.getNextJarEntry();
                    
    int loadedCount 0totalCount 0;
                   
                    while (
    entry != null) {
                      
    String name entry.getName();
                      if (
    name.endsWith(".class")) {
                        
    totalCount++;
                        
    name name.substring(0name.length() - 6); // ?
                        
    name name.replace('/''.');
                        
    System.out.print("> " name);

                        try {
                          
    urlLoader.loadClass(name);
                          
    System.out.println("\t- loaded");
                          
    loadedCount++;
                        } catch (
    Throwable e) {
                          
    System.out.println("\t- not loaded");
                          
    System.out.println("\t " e.getClass().getName() + ": " e.getMessage());
                        }

                      }
                      
    entry jacr.getNextJarEntry();
                    }

                } catch (
    IOException ex) {
                    
    Logger.getLogger(Details.class.getName()).log(Level.SEVEREnullex);
                } finally {
                    try {
                      
    fis.close();
                    } catch (
    IOException ex) {
                        
    Logger.getLogger(Details.class.getName()).log(Level.SEVEREnullex);
                    }
                    try {
                        
    jacr.close();
                    } catch (
    IOException ex) {
                        
    Logger.getLogger(Details.class.getName()).log(Level.SEVEREnullex);
                    }
                }           
            }
        } 
    Continua a darmi :
    > pippo.pappo.peppo.testmodule.TestRenderer - not loaded
    java.lang.NoClassDefFoundError: pippo/pappo/peppo/modules/renderer/Renderer


    La classe c'è! non capisco.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    0
    perche' devi aprire il jar? guarda che probabilmente ti basta metterlo nel classpath e poi fare

    Codice PHP:
    Class = Class.forName(<nomeclasse>);
    Object o c.newInstance(); 
    ATTENZIONE

    Non sono piu' presente sul forum. Ma potrei tornare a rompere le balle all'improvviso per poi sparire di nuovo.

  3. #3
    Utente bannato
    Registrato dal
    May 2001
    Messaggi
    460
    Originariamente inviato da Druzya
    perche' devi aprire il jar? guarda che probabilmente ti basta metterlo nel classpath e poi fare

    Codice PHP:
    Class = Class.forName(<nomeclasse>);
    Object o c.newInstance(); 
    Provo ma stavo guardando qua :

    http://www.javaworld.com/javatips/jw-javatip70.html

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    0
    risorsa validissima, quel sito, ti consiglio anche http://www.exampledepot.com , nel caso
    ATTENZIONE

    Non sono piu' presente sul forum. Ma potrei tornare a rompere le balle all'improvviso per poi sparire di nuovo.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.