Newsgroup: it.comp.java
Titolo: problema con Eclipse su Sun Java 1.7

Ho scelto di installare Eclipse Indigo come ide per imparare a 
programmare (sono un novellino).
Dopo aver scaricato la versione classic ho voluto aggiungerci il 
supporto a javascript e php. E qui sono sorti i problemi.
Ho seguito le istruzioni riportate sul sito del progetto PDT, ma
andando in help->install new software Eclipse si bloccava per quasi un 
quarto d'ora prima di mostrarmi l'elenco del software disponibile nei 
repository. Poi quando selezionavo il pacchetto PDT, Eclipse non me lo 
installava per problemi di dipendenze.
All'inizio ho pensato che Eclipse si bloccasse per un problema di 
timeout di rete e che le dipendenze necesitavano dell'aggiunta di altri 
repository o dell'aggiornamento di Eclipse. Quindi ho provato ad 
aggiornare, ma anche li stesso problema.
Ho provato ad installare una versione meno recente di Eclipse, la 3.6, 
ma anche li stesso problema.
Ho passato mezza giornata facendo prove davanti al pc,
finché non ho provato sotto Linux ed ho constatato che il sistema di 
installazione di nuovo software funzionava bene e con tempi di attesa 
normali.
Allora qual'era il problema? Perché sotto Windows non voleva installarsi 
niente? Ho sospettato che il problema potesse essere che sotto Windows 
avevo installato una versione di Java troppo recente la 1.7
Ho guardato nel .log di Eclipse ed ho visto che erano state lanciate 
molte eccezioni dalle classi dei package java.lang e 
java.net
 che 
rafforzavano i miei sospetti.
Quindi ho disinstallato ed installato Java 1.6u27 e finalmente Eclipse 
ha installato correttamente le nuove funzionalità che cercavo!
Anche a voi sono capitati problemi di incompatibilità con Eclipse e Sun 
Java 1.7?
Secondo voi, Eclipse gira bene su OpenJDK? Su Linux vorrei tenere la 
versione open, in modo da testare i miei programmini su entrambe le 
piattaforme Java.
Java 1.7... le classi compilate con il JDK 1.7 saranno compatibili con 
le versioni precedenti? e viceversa?
Però è strano! posso supporre che Eclipse Indigo sia stato compilato con 
una versione del jdk anteriore alla 1.7, quindi la 1.7 dovrebbe 
eseguirlo senza problemi... o la 1.7 rompe la compatibilità con le 
classi precedenti?
Bah! continuerà a essere (se lo è mai stato) lo slogan "compile once run 
everywhere"?
Grazie.

 Grazie.
Si spera! Prego

 Mi piacerebbe vedere lo stacktrace, lo hai ancora?
No, purtroppo ho cancellato la vecchia installazione.
Comunque, se disinstallo Java 1.6.27 e reinstallo Java 1.7.0, ritornano 
i problemi di connessione ai repository.
Segue il contenuto di workspace\.metadata\.log di una sessione in cui 
lancio help->check_for_updates
Forse � un problema di installazione sul mio pc?
!SESSION 2011-09-05 14:19:11.703 
-----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=it_IT
Command-line arguments:  -os win32 -ws win32 -arch x86
!ENTRY unknown 8 1 2011-09-05 14:26:29.099
!MESSAGE
!ENTRY org.eclipse.ecf.provider.filetransfer 4 0 2011-09-05 14:29:24.736
!MESSAGE 
org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.provider.filetransfer;code=4;message=hardClose;severity4;exception=java.net.SocketTimeoutException: 
Read timed out;children=[]]
!STACK 0
java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.fill(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.ChunkedInputStream.read(ChunkedInputStream.java:182)
	at 
org.apache.commons.httpclient.ChunkedInputStream.read(ChunkedInputStream.java:196)
	at 
org.apache.commons.httpclient.ChunkedInputStream.exhaustInputStream(ChunkedInputStream.java:369)
	at 
org.apache.commons.httpclient.ChunkedInputStream.close(ChunkedInputStream.java:346)
	at java.io.FilterInputStream.close(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.notifyWatcher(AutoCloseInputStream.java:194)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.close(AutoCloseInputStream.java:158)
	at 
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:185)
	at 
org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!ENTRY org.eclipse.ecf.provider.filetransfer 4 0 2011-09-05 14:32:26.017
!MESSAGE 
org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.provider.filetransfer;code=4;message=hardClose;severity4;exception=java.net.SocketTimeoutException: 
Read timed out;children=[]]
!STACK 0
java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.fill(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:184)
	at 
org.apache.commons.httpclient.ChunkedInputStream.exhaustInputStream(ChunkedInputStream.java:369)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.close(ContentLengthInputStream.java:118)
	at java.io.FilterInputStream.close(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.notifyWatcher(AutoCloseInputStream.java:194)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.close(AutoCloseInputStream.java:158)
	at 
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:185)
	at 
org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!ENTRY org.eclipse.equinox.p2.core 4 0 2011-09-05 14:32:26.111
!MESSAGE Provisioning exception
!STACK 1
org.eclipse.equinox.p2.core.ProvisionException: Unable to read 
repository at 
http://download.eclipse.org/eclipse/updates/3.7/R-3.7-201106131736/content.jar
.
	at 
org.eclipse.equinox.internal.p2.repository.CacheManager.updateCache(CacheManager.java:359)
	at 
org.eclipse.equinox.internal.p2.repository.CacheManager.createCache(CacheManager.java:205)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.getLocalFile(SimpleMetadataRepositoryFactory.java:66)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:88)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57)
	at 
org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:749)
	at 
org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
	at 
org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.doLoad(LoadMetadataRepositoryJob.java:117)
	at 
org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.runModal(LoadMetadataRepositoryJob.java:102)
	at 
org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$2.runModal(PreloadingRepositoryHandler.java:82)
	at 
org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:177)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
	at java.io.FilterInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:108)
	at java.io.FilterInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:127)
	at 
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:172)
	at 
org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73)
	... 1 more
!SUBENTRY 1 org.eclipse.equinox.p2.transport.ecf 4 1002 2011-09-05 
14:32:26.111
!MESSAGE Unable to read repository at 
http://download.eclipse.org/eclipse/updates/3.7/R-3.7-201106131736/content.jar
.
!STACK 0
java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
	at java.io.FilterInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:108)
	at java.io.FilterInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:127)
	at 
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:172)
	at 
org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!ENTRY org.eclipse.ecf.provider.filetransfer 4 0 2011-09-05 14:36:32.908
!MESSAGE 
org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.provider.filetransfer;code=4;message=hardClose;severity4;exception=java.net.SocketTimeoutException: 
Read timed out;children=[]]
!STACK 0
java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.fill(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:184)
	at 
org.apache.commons.httpclient.ChunkedInputStream.exhaustInputStream(ChunkedInputStream.java:369)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.close(ContentLengthInputStream.java:118)
	at java.io.FilterInputStream.close(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.notifyWatcher(AutoCloseInputStream.java:194)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.close(AutoCloseInputStream.java:158)
	at 
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:185)
	at 
org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!ENTRY org.eclipse.equinox.p2.core 4 0 2011-09-05 14:36:32.986
!MESSAGE Provisioning exception
!STACK 1
org.eclipse.equinox.p2.core.ProvisionException: Unable to read 
repository at 
http://download.eclipse.org/eclipse/updates/3.7/R-3.7-201106131736/content.jar
.
	at 
org.eclipse.equinox.internal.p2.repository.CacheManager.updateCache(CacheManager.java:359)
	at 
org.eclipse.equinox.internal.p2.repository.CacheManager.createCache(CacheManager.java:205)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.getLocalFile(SimpleMetadataRepositoryFactory.java:66)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:88)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57)
	at 
org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:749)
	at 
org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:165)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:105)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:122)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57)
	at 
org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:749)
	at 
org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
	at 
org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
	at 
org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.doLoad(LoadMetadataRepositoryJob.java:117)
	at 
org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.runModal(LoadMetadataRepositoryJob.java:102)
	at 
org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$2.runModal(PreloadingRepositoryHandler.java:82)
	at 
org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:177)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
	at java.io.FilterInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:108)
	at java.io.FilterInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:127)
	at 
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:172)
	at 
org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73)
	... 1 more
!SUBENTRY 1 org.eclipse.equinox.p2.transport.ecf 4 1002 2011-09-05 
14:36:32.986
!MESSAGE Unable to read repository at 
http://download.eclipse.org/eclipse/updates/3.7/R-3.7-201106131736/content.jar
.
!STACK 0
java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
	at java.io.FilterInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:108)
	at java.io.FilterInputStream.read(Unknown Source)
	at 
org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:127)
	at 
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:172)
	at 
org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:73)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

 everywhere"?
beh, andiamo per gradi e non saltiamo a conclusioni affrettate :)
il tuo problema è che non riesci ad aggiornare i plugin, il che non ha
niente a che vedere con la versione di java con cui è compilato
eclipse e tantomeno ha qualcosa a che vedere con il "compile once run
everywhere". praticamente sarebbe un problema del componente di
eclipse che gestisce i plugin che, a quanto pare (ma andrebbe
approfondito), ha qualche problema con le librerie net del java 7. fra
l'altro il gestore plugin ha sempre sofferto di equilibri delicati
specie se hai a che fare con dei proxy.
poi sulla retrocompatibilità del compilato bisognerebbe fare un
discorso a parte, soprattutto andrebbe capito bene in cosa consiste
onde evitare di dare per scontato il falso. per dire, se fra le api
del java 7 viene introdotta una nuova classe o cambiata la signature
di un metodo tu puoi compilare il codice che richiama alle nuove api
in modalità retrocompatibile, ma ciò non toglie che quando lo andrai
ad eseguire con una versione precedente ti ritrovi l'errore runtime.

 repository.
Con Eclipse - non sono sicuro se con 3.6 o 3.7 - ho avuto problemi ad 
avere l'elenco dei pacchetti finché non ho disabilitato https con 
l'opzione presente. Nel mio caso non veniva elencato nessun pacchetto ma 
non ho avuto la pazienza di aspettare a lungo.