Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [JAVA]Problemi con le versioni del compilatore

    Ciao,

    io ho fatto un programma Java che su un computer non mi da' problemi.
    Non mi viene visualizzato nessun errore e nussun warning.

    In un altro succede il finimondo e mi dice che alcune variabili non sono mai lette e che alcuni import in alcune classi non sono mai usate.

    Come mai questa differenza?

    Qualcuno sa come mai succede questo

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Se non ci fai vedere l'errore come possiamo aiutarti?

    Comunque: con che versione hai compilato i sorgenti? E con che versione stai cercando di eseguire il bytecode?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Il compilatore e' questo:

    javac 1.6.0_0-internal

    il comando java -version resituisce

    java version "1.6.0_0"
    IcedTea6 1.3.1 (6b12-0ubuntu6.5) Runtime Environment (build 1.6.0_0-b12)
    OpenJDK Server VM (build 1.6.0_0-b12, mixed mode)

    Per gli errori aspetta un attimino

  4. #4
    Ecco gli errori

    codice:
    ----------
    1. WARNING in CryptoParser.java (at line 10)
    	import java.lang.*;
    	       ^^^^^^^^^
    The import java.lang is never used
    ----------
    2. ERROR in CryptoParser.java (at line 183)
    	private ArrayList<String> PrefixAlreadyFound; /* To keep track of the library already scanned during include phase */
    	        ^^^^^^^^^
    The type ArrayList is not generic; it cannot be parameterized with arguments <String>
    ----------
    3. ERROR in CryptoParser.java (at line 183)
    	private ArrayList<String> PrefixAlreadyFound; /* To keep track of the library already scanned during include phase */
    	                  ^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    4. ERROR in CryptoParser.java (at line 184)
    	private ArrayList<String> CodeForMakeAlreadyFound;	
    	        ^^^^^^^^^
    The type ArrayList is not generic; it cannot be parameterized with arguments <String>
    ----------
    5. ERROR in CryptoParser.java (at line 184)
    	private ArrayList<String> CodeForMakeAlreadyFound;	
    	                  ^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    6. ERROR in CryptoParser.java (at line 185)
    	private ArrayList<String> CustomIncludeAlreadyFound;
    	        ^^^^^^^^^
    The type ArrayList is not generic; it cannot be parameterized with arguments <String>
    ----------
    7. ERROR in CryptoParser.java (at line 185)
    	private ArrayList<String> CustomIncludeAlreadyFound;
    	                  ^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    8. ERROR in CryptoParser.java (at line 186)
    	private HashMap<String, String> CodeAlreadyFound;
    	        ^^^^^^^
    The type HashMap is not generic; it cannot be parameterized with arguments <String, String>
    ----------
    9. ERROR in CryptoParser.java (at line 186)
    	private HashMap<String, String> CodeAlreadyFound;
    	                ^^^^^^^^^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    10. ERROR in CryptoParser.java (at line 326)
    	PrefixAlreadyFound = new ArrayList<String>();
    	^^^^^^^^^^^^^^^^^^
    PrefixAlreadyFound cannot be resolved
    ----------
    11. ERROR in CryptoParser.java (at line 326)
    	PrefixAlreadyFound = new ArrayList<String>();
    	                         ^^^^^^^^^
    The type ArrayList is not generic; it cannot be parameterized with arguments <String>
    ----------
    12. ERROR in CryptoParser.java (at line 326)
    	PrefixAlreadyFound = new ArrayList<String>();
    	                                   ^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    13. ERROR in CryptoParser.java (at line 327)
    	CodeForMakeAlreadyFound = new ArrayList<String>();
    	^^^^^^^^^^^^^^^^^^^^^^^
    CodeForMakeAlreadyFound cannot be resolved
    ----------
    14. ERROR in CryptoParser.java (at line 327)
    	CodeForMakeAlreadyFound = new ArrayList<String>();
    	                              ^^^^^^^^^
    The type ArrayList is not generic; it cannot be parameterized with arguments <String>
    ----------
    15. ERROR in CryptoParser.java (at line 327)
    	CodeForMakeAlreadyFound = new ArrayList<String>();
    	                                        ^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    16. ERROR in CryptoParser.java (at line 328)
    	CustomIncludeAlreadyFound = new ArrayList<String>();
    	^^^^^^^^^^^^^^^^^^^^^^^^^
    CustomIncludeAlreadyFound cannot be resolved
    ----------
    17. ERROR in CryptoParser.java (at line 328)
    	CustomIncludeAlreadyFound = new ArrayList<String>();
    	                                ^^^^^^^^^
    The type ArrayList is not generic; it cannot be parameterized with arguments <String>
    ----------
    18. ERROR in CryptoParser.java (at line 328)
    	CustomIncludeAlreadyFound = new ArrayList<String>();
    	                                          ^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    19. ERROR in CryptoParser.java (at line 329)
    	CodeAlreadyFound = new HashMap<String, String>();		
    	^^^^^^^^^^^^^^^^
    CodeAlreadyFound cannot be resolved
    ----------
    20. ERROR in CryptoParser.java (at line 329)
    	CodeAlreadyFound = new HashMap<String, String>();		
    	                       ^^^^^^^
    The type HashMap is not generic; it cannot be parameterized with arguments <String, String>
    ----------
    21. ERROR in CryptoParser.java (at line 329)
    	CodeAlreadyFound = new HashMap<String, String>();		
    	                               ^^^^^^^^^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    22. ERROR in CryptoParser.java (at line 428)
    	if( CodeAlreadyFound.isEmpty() || ( !CodeAlreadyFound.containsKey(Code) ) )
    	    ^^^^^^^^^^^^^^^^
    CodeAlreadyFound cannot be resolved
    ----------
    23. ERROR in CryptoParser.java (at line 428)
    	if( CodeAlreadyFound.isEmpty() || ( !CodeAlreadyFound.containsKey(Code) ) )
    	                                     ^^^^^^^^^^^^^^^^
    CodeAlreadyFound cannot be resolved
    ----------
    24. ERROR in CryptoParser.java (at line 431)
    	CodeAlreadyFound.put( Code, NameOfFunction ); //Association between Code and name of function into user main		
    	^^^^^^^^^^^^^^^^
    CodeAlreadyFound cannot be resolved
    ----------
    25. ERROR in CryptoParser.java (at line 437)
    	else Ccode.InsertLineIntoMain( CodeAlreadyFound.get(Code) + "();" ); 
    	                               ^^^^^^^^^^^^^^^^
    CodeAlreadyFound cannot be resolved
    ----------
    26. ERROR in CryptoParser.java (at line 452)
    	if( PrefixAlreadyFound.isEmpty() || ( !PrefixAlreadyFound.contains(Prefix) ) )
    	    ^^^^^^^^^^^^^^^^^^
    PrefixAlreadyFound cannot be resolved
    ----------
    27. ERROR in CryptoParser.java (at line 452)
    	if( PrefixAlreadyFound.isEmpty() || ( !PrefixAlreadyFound.contains(Prefix) ) )
    	                                       ^^^^^^^^^^^^^^^^^^
    PrefixAlreadyFound cannot be resolved
    ----------
    28. ERROR in CryptoParser.java (at line 454)
    	PrefixAlreadyFound.add(Prefix);
    	^^^^^^^^^^^^^^^^^^
    PrefixAlreadyFound cannot be resolved
    ----------
    29. ERROR in CryptoParser.java (at line 474)
    	if( CustomIncludeAlreadyFound.isEmpty() || ( !CustomIncludeAlreadyFound.contains(IncludePath) ) )
    	    ^^^^^^^^^^^^^^^^^^^^^^^^^
    CustomIncludeAlreadyFound cannot be resolved
    ----------
    30. ERROR in CryptoParser.java (at line 474)
    	if( CustomIncludeAlreadyFound.isEmpty() || ( !CustomIncludeAlreadyFound.contains(IncludePath) ) )
    	                                              ^^^^^^^^^^^^^^^^^^^^^^^^^
    CustomIncludeAlreadyFound cannot be resolved
    ----------
    31. ERROR in CryptoParser.java (at line 476)
    	CustomIncludeAlreadyFound.add(IncludePath);
    	^^^^^^^^^^^^^^^^^^^^^^^^^
    CustomIncludeAlreadyFound cannot be resolved
    ----------
    32. ERROR in CryptoParser.java (at line 488)
    	if( CodeForMakeAlreadyFound.isEmpty() || ( !CodeForMakeAlreadyFound.contains(lib) ) )
    	    ^^^^^^^^^^^^^^^^^^^^^^^
    CodeForMakeAlreadyFound cannot be resolved
    ----------
    33. ERROR in CryptoParser.java (at line 488)
    	if( CodeForMakeAlreadyFound.isEmpty() || ( !CodeForMakeAlreadyFound.contains(lib) ) )
    	                                            ^^^^^^^^^^^^^^^^^^^^^^^
    CodeForMakeAlreadyFound cannot be resolved
    ----------
    34. ERROR in CryptoParser.java (at line 490)
    	CodeForMakeAlreadyFound.add(lib);
    	^^^^^^^^^^^^^^^^^^^^^^^
    CodeForMakeAlreadyFound cannot be resolved
    ----------
    ----------
    35. ERROR in CryptoSet.java (at line 12)
    	private HashMap<String,String> LineOfFile = new HashMap<String,String>();
    	                ^^^^^^^^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    36. ERROR in CryptoSet.java (at line 12)
    	private HashMap<String,String> LineOfFile = new HashMap<String,String>();
    	                                                        ^^^^^^^^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    ----------
    37. ERROR in Resolv.java (at line 10)
    	private ArrayList<String> NameAlreadyFound = new ArrayList<String>();
    	                  ^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    38. ERROR in Resolv.java (at line 10)
    	private ArrayList<String> NameAlreadyFound = new ArrayList<String>();
    	                                                           ^^^^^^
    Syntax error, parameterized types are only available if source level is 5.0
    ----------
    38
    Il compilatore e':
    Eclipse Java Compiler v_774_R33x, 3.3.1, Copyright IBM Corp 2000, 2007. All rights reserved.

  5. #5
    Ho provato con il compilatore di MacOsx e non mi da' problemi.

    Possibile che in alcuni tutto mi funziona e in altri tutto NON mi funziona???

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da mark85_159622
    Syntax error, parameterized types are only available if source level is 5.0
    Ce ne sono svariati di questi errori, vedo. E sono molto "eloquenti". Vuol dire che è stata passata al compilatore l'opzione che porta ad accettare sorgenti per una versione di Java inferiore alla 5 (dove i "generics" non sono validi).
    A livello di javac l'opzione è -source XYZ (XYZ è 1.3 o 1.4 o 5 ecc...). Se compili da un IDE devi verificare nelle opzioni del progetto che la compilazione accetti sorgenti almeno per Java 5.

    Molti altri errori sono dovuti a tipi che non trova ... ma qui dipende da cosa sono, se sono in altre librerie o sono tuoi tipi e dove li hai messi, ecc....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Io ho sempre compilato da linea di comando.

    Mai usate Eclipse o robe del genere.

    Tutti gli HashMap e gli ArrayList sono miei.

    Ripeto cha anche su Mac funziona senza problemi.
    Che cosa devo fare per ottenere una versione che mi funzioni dappertutto???

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da mark85_159622
    Che cosa devo fare per ottenere una versione che mi funzioni dappertutto???
    La questione è: tu lo sai ovviamente quali funzionalità di Java (a livello di linguaggio e anche classi/metodi del framework) hai usato, no? Hai usato ad esempio i "generics", quindi per compilare ovviamente serve almeno un JDK 5.
    Ma il compilatore può essere parametrato per accettare una certa versione dei sorgenti e per generare file .class con un certo "class version". Ed esiste ovviamente un "default" se non si specifica nulla.
    Nel javac della Sun queste opzioni si specificano con -source e -target. Con altri compilatori non Sun, non lo so, le opzioni possono essere diverse e con default diversi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    So che i generics non funzionano su compilatori vecchi.

    Non capisco i warning sinceramente. Anche se probabilmente un import non serve il mio compilatore di lavoro non ha mai dato problemi con i warning.

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da mark85_159622
    So che i generics non funzionano su compilatori vecchi.
    Non è questione di compilatori "vecchi". Se hai l'ultimissima versione del JDK della Sun e lanci: java -source 1.4 Qualcosa.java i generics non li accetta (e nemmeno altre feature di Java 5). Ti è più chiaro ora?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.