Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

problema con Eclipse su Sun Java 1.7

22 views
Skip to first unread message

zeropointer

unread,
Sep 2, 2011, 2:02:55 PM9/2/11
to
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.


Alessandro Carraro (JUG Padova)

unread,
Sep 5, 2011, 5:28:03 AM9/5/11
to
On 2 Set, 20:02, zeropointer <ple...@no.spam> wrote:
A parte che non esiste Java 1.7 di Sun, ma esiste Java7 di Oracle...

> 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.

Mi piacerebbe vedere lo stacktrace, lo hai ancora?

> 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.

Mi sembra un ottima idea. Purtroppo, non ho esperienza con l'OpenJDK.
Tieni però presente, se non erro, che java7 ~= openjdk nel senso che
il codice è in gran parte derivato da là.

> Java 1.7... le classi compilate con il JDK 1.7 saranno compatibili con
> le versioni precedenti? e viceversa?

In teoria, sì. Il compilatore da quel che ho capito, nella maggior
parte dei casi le nuove features le risolve compilando un bytecode
compatibile - si tratta perlo+ di syntactic sugar. A meno che tu non
usi la nuova bytecode relativa all'invokedynamic, ma non credo.
Tieni presente che però se usi classi del jdk non presenti prima, o
con differenze nelle firme potresti avere errori.

Diversamente, se sviluppi su jdk precedenti (es java5 o java6), sei
compatibile verso l'alto.

> 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?

E' strano in effetti

> Bah! continuerà a essere (se lo è mai stato) lo slogan "compile once run
> everywhere"?
>
> Grazie.

Si spera! Prego

zeropointer

unread,
Sep 5, 2011, 9:11:26 AM9/5/11
to
Il 05/09/2011 11:28, Alessandro Carraro (JUG Padova) ha scritto:
>> 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.
>
> 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)

rootkit

unread,
Sep 5, 2011, 9:42:59 AM9/5/11
to
On 2 Set, 20:02, zeropointer <ple...@no.spam> wrote:

> 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"?

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.

Andrea D'Amore

unread,
Sep 5, 2011, 11:03:29 AM9/5/11
to
In article <j3r5om$upt$2...@speranza.aioe.org>,
zeropointer <ple...@no.spam> wrote:

> 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.

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.

0 new messages