admin管理员组文章数量:1435859
I am currently configuring my Eclipse IDE (2024-09, Windows OS) for a java course. It requires me to install several plugins (Checkstyle, SpotBugs, SubEclipse, Eclipse Web Developer Tools) but all of my tries get stuck at some random location in the process of installing. (Specifically, it shows that it is fetching something, as the images show) Some of the "fetching" processes are smooth, and then it gets stuck at one "fetching" process, different for each try, never switching to the next process.
I install through Help -> Install New Software... -> Add... (Name, Location from the Internet) -> Next> / Finish.
The issue may be because I did not trust all authorities. However, the installation process actually did not show me any page or choice to trust all. My Eclipse 2024-06 met the same problem when installing the plugins before, and I do not remember how I solved this problem. But now when I need to switch to Eclipse 2024-09 due to JUnit compatibility problems, I have the same problem.
I did not receive any error, just got stuck.
I have tried several times, selecting "Trust all content" in preferences but still fail to install any of the plugins.
The Installation Page (Options are default selected)
Stuck when installing CheckStyle
Another try, stuck when installing:
In a third try, it got stuck in another place:
When going to Preferences -> Install/Update -> Available Software Sites, it shows me the following:
This is the content of the "Error Log" view:
Eclipse log:
!SESSION 2024-11-15 14:47:07.473 -----------------------------------------------
eclipse.buildId=4.33.0.20240905-0613
java.version=21.0.4
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product .eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product .eclipse.epp.package.java.product
!ENTRY ch.qos.logback.classic 1 0 2024-11-15 14:47:10.082
!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized.
!ENTRY ch.qos.logback.classic 1 0 2024-11-15 14:47:11.196
!MESSAGE Logback config file: D:\Desktop\landepen\OSU-CSE-2221\workspace\.metadata\.plugins\.eclipse.m2e.logback\logback.2.6.1.20240411-1122.xml
!ENTRY .eclipse.egit.ui 2 0 2024-11-15 14:47:16.167
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\123'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY .eclipse.core.jobs 2 2 2024-11-15 14:52:13.623
!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: .eclipse.equinox.p2.operations.ProfileModificationJob RUNNING
at java.base/jdk.internal.misc.Unsafe.park(Native Method)
at java.base/java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
at java.base/java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1864)
at java.base/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3780)
at java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3725)
at java.base/java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1898)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2072)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.lambda$10(AuthorityChecker.java:268)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.gatherCertificates(AuthorityChecker.java:266)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.getCertificates(AuthorityChecker.java:246)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.start(AuthorityChecker.java:125)
at .eclipse.equinox.internal.p2.engine.phases.CollectpletePhase(Collect.java:97)
at .eclipse.equinox.internal.p2.engine.Phase.postPerform(Phase.java:254)
at .eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:105)
at .eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:65)
at .eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:95)
at .eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:49)
at .eclipse.equinox.p2.operations.ProvisioningSession.performProvisioningPlan(ProvisioningSession.java:175)
at .eclipse.equinox.p2.operations.ProfileModificationJob.runModal(ProfileModificationJob.java:76)
at .eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:187)
at .eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Here is some information that may be useful from jcmd:
"Worker-1: Installing Software" #74 [19812] prio=5 os_prio=0 cpu=468.75ms elapsed=452.35s tid=0x00000298917e9110 nid=19812 waiting on condition [0x000000a64083e000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
- parking to wait for <0x00000000c7700090> (a java.util.concurrent.CompletableFuture$Signaller)
at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:221)
at java.util.concurrent.CompletableFuture$Signaller.block([email protected]/CompletableFuture.java:1864)
at java.util.concurrent.ForkJoinPool.unmanagedBlock([email protected]/ForkJoinPool.java:3780)
at java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3725)
at java.util.concurrent.CompletableFuture.waitingGet([email protected]/CompletableFuture.java:1898)
at java.util.concurrent.CompletableFuture.get([email protected]/CompletableFuture.java:2072)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.lambda$10(AuthorityChecker.java:268)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker$$Lambda/0x0000000100fb28b8.accept(Unknown Source)
at java.util.Optional.ifPresent([email protected]/Optional.java:178)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.gatherCertificates(AuthorityChecker.java:266)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.getCertificates(AuthorityChecker.java:246)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.start(AuthorityChecker.java:125)
at .eclipse.equinox.internal.p2.engine.phases.CollectpletePhase(Collect.java:97)
at .eclipse.equinox.internal.p2.engine.Phase.postPerform(Phase.java:254)
at .eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:105)
at .eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:65)
at .eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:95)
at .eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:49)
at .eclipse.equinox.p2.operations.ProvisioningSession.performProvisioningPlan(ProvisioningSession.java:175)
at .eclipse.equinox.p2.operations.ProfileModificationJob.runModal(ProfileModificationJob.java:76)
at .eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:187)
at .eclipse.core.internal.jobs.Worker.run(Worker.java:63)
I am currently configuring my Eclipse IDE (2024-09, Windows OS) for a java course. It requires me to install several plugins (Checkstyle, SpotBugs, SubEclipse, Eclipse Web Developer Tools) but all of my tries get stuck at some random location in the process of installing. (Specifically, it shows that it is fetching something, as the images show) Some of the "fetching" processes are smooth, and then it gets stuck at one "fetching" process, different for each try, never switching to the next process.
I install through Help -> Install New Software... -> Add... (Name, Location from the Internet) -> Next> / Finish.
The issue may be because I did not trust all authorities. However, the installation process actually did not show me any page or choice to trust all. My Eclipse 2024-06 met the same problem when installing the plugins before, and I do not remember how I solved this problem. But now when I need to switch to Eclipse 2024-09 due to JUnit compatibility problems, I have the same problem.
I did not receive any error, just got stuck.
I have tried several times, selecting "Trust all content" in preferences but still fail to install any of the plugins.
The Installation Page (Options are default selected)
Stuck when installing CheckStyle
Another try, stuck when installing:
In a third try, it got stuck in another place:
When going to Preferences -> Install/Update -> Available Software Sites, it shows me the following:
This is the content of the "Error Log" view:
Eclipse log:
!SESSION 2024-11-15 14:47:07.473 -----------------------------------------------
eclipse.buildId=4.33.0.20240905-0613
java.version=21.0.4
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product .eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product .eclipse.epp.package.java.product
!ENTRY ch.qos.logback.classic 1 0 2024-11-15 14:47:10.082
!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized.
!ENTRY ch.qos.logback.classic 1 0 2024-11-15 14:47:11.196
!MESSAGE Logback config file: D:\Desktop\landepen\OSU-CSE-2221\workspace\.metadata\.plugins\.eclipse.m2e.logback\logback.2.6.1.20240411-1122.xml
!ENTRY .eclipse.egit.ui 2 0 2024-11-15 14:47:16.167
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\123'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY .eclipse.core.jobs 2 2 2024-11-15 14:52:13.623
!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: .eclipse.equinox.p2.operations.ProfileModificationJob RUNNING
at java.base/jdk.internal.misc.Unsafe.park(Native Method)
at java.base/java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
at java.base/java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1864)
at java.base/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3780)
at java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3725)
at java.base/java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1898)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2072)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.lambda$10(AuthorityChecker.java:268)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.gatherCertificates(AuthorityChecker.java:266)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.getCertificates(AuthorityChecker.java:246)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.start(AuthorityChecker.java:125)
at .eclipse.equinox.internal.p2.engine.phases.CollectpletePhase(Collect.java:97)
at .eclipse.equinox.internal.p2.engine.Phase.postPerform(Phase.java:254)
at .eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:105)
at .eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:65)
at .eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:95)
at .eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:49)
at .eclipse.equinox.p2.operations.ProvisioningSession.performProvisioningPlan(ProvisioningSession.java:175)
at .eclipse.equinox.p2.operations.ProfileModificationJob.runModal(ProfileModificationJob.java:76)
at .eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:187)
at .eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Here is some information that may be useful from jcmd:
"Worker-1: Installing Software" #74 [19812] prio=5 os_prio=0 cpu=468.75ms elapsed=452.35s tid=0x00000298917e9110 nid=19812 waiting on condition [0x000000a64083e000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
- parking to wait for <0x00000000c7700090> (a java.util.concurrent.CompletableFuture$Signaller)
at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:221)
at java.util.concurrent.CompletableFuture$Signaller.block([email protected]/CompletableFuture.java:1864)
at java.util.concurrent.ForkJoinPool.unmanagedBlock([email protected]/ForkJoinPool.java:3780)
at java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3725)
at java.util.concurrent.CompletableFuture.waitingGet([email protected]/CompletableFuture.java:1898)
at java.util.concurrent.CompletableFuture.get([email protected]/CompletableFuture.java:2072)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.lambda$10(AuthorityChecker.java:268)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker$$Lambda/0x0000000100fb28b8.accept(Unknown Source)
at java.util.Optional.ifPresent([email protected]/Optional.java:178)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.gatherCertificates(AuthorityChecker.java:266)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.getCertificates(AuthorityChecker.java:246)
at .eclipse.equinox.internal.p2.engine.phases.AuthorityChecker.start(AuthorityChecker.java:125)
at .eclipse.equinox.internal.p2.engine.phases.CollectpletePhase(Collect.java:97)
at .eclipse.equinox.internal.p2.engine.Phase.postPerform(Phase.java:254)
at .eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:105)
at .eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:65)
at .eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:95)
at .eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:49)
at .eclipse.equinox.p2.operations.ProvisioningSession.performProvisioningPlan(ProvisioningSession.java:175)
at .eclipse.equinox.p2.operations.ProfileModificationJob.runModal(ProfileModificationJob.java:76)
at .eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:187)
at .eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Share
Improve this question
edited Nov 15, 2024 at 21:50
One_True
asked Nov 15, 2024 at 20:13
One_TrueOne_True
133 bronze badges
11
|
Show 6 more comments
1 Answer
Reset to default 0What happens
Eclipse sends a request to all configured authorities to find all (trusted) certificates. One of your trusted authorities seem to accept the connection but doesn't respond to it (or the connection gets stuck somewhere in the response). Since Eclipse doesn't have a timeout for collecting all the authority certificates, it waits for the response forever.
The fix is implemented
I have contributed a fix of this issue which got merged. It will probably be in the 2025-03 release. With this fix, it should stop trying to resolve the host certificate from the problematic server after it not working with 3 attempts (can be configured with the .eclipse.equinox.p2.engine.certificateRequestRetries
property) each having a timeout of 5 seconds (can be configured using the .eclipse.equinox.p2.engine.certificateRequestTimeout
property (in milliseconds)). So by default, it should continue after 15 seconds and ignore that authority. If you want it to be faster, you should be able to reduce these properties by editing your eclipse.ini
(add the following somewhere after -vmargs
):
-D.eclipse.equinox.p2.engine.certificateRequestRetries=1
-D.eclipse.equinox.p2.engine.certificateRequestTimeout=3000
Working around it
In Window > Preferences > Install/Update > Trust, you can find a tab "Authorities". This tab lists all configured authorities.
It seems like one of them doesn't respond to the request so you would probably need to remove that from the authorities by clicking the "Remove" button after selecting the authority causing the issue. To find that authority, you can run curl --head https://your.authority
for all configured authority (obviously replacing the link). If you don't get a response, remove it from the list of authorities.
本文标签: javaNot Able to Install Plugins EclipseStack Overflow
版权声明:本文标题:java - Not Able to Install Plugins Eclipse - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745672608a2669661.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
jcmd
which should tell you the process ID of all running Java processes (including Eclipse) and then you can runjcmd <process ID of Eclipse> Thread.print
. Please include the output of that in your question as it could provide useful information. If it contains sensitive data, you can replace it with something likeREDACTED
. – dan1st Commented Nov 15, 2024 at 21:44waiting on condition [0x000000a64083e000]
- is there anything else in the JFR output including0x000000a64083e000
? From the thread dump, it seems like the issue actually happens in the certificate checking. – dan1st Commented Nov 15, 2024 at 21:52