OpenLiberty / OpenLiberty/liberty-tools-eclipse
Install failure installing Liberty Tools after having installed Liberty Developer Tools
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 16
- Forks
- 20
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 16
Description
Installing this sequence:
- Enterprise Java - 2024-06
- LDT - https://marketplace.eclipse.org/content/ibm-liberty-developer-tools
- LT 24.0.9 driver (internal-only but this is now the 'main' contents at the time of this issue).
the third step fails to complete.
So far this has only been observed on Windows.
An error is shown in the install wizard UI that maps to this message in the workspace log:
!MESSAGE Missing requirement: Liberty Tools Support for Language Servers 24.0.9.202409170137 (io.openliberty.tools.eclipse.lsp4e 24.0.9.202409170137) requires 'osgi.bundle; org.eclipse.lsp4mp.jdt.core 0.0.0' but it could not be found
There are some earlier messages in the logs like these:
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 0 2024-09-20 11:29:53.178
!MESSAGE Unexpected error loading extension: org.eclipse.equinox.p2.metadata.repository.compositeRepository
!STACK 0
java.lang.LinkageError: loader constraint violation: loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @1fb0ab37 wants to load class org.apache.hc.client5.http.impl.classic.HttpClientBuilder. A different class with the same name was previously loaded by org.eclipse.osgi.internal.loader.EquinoxClassLoader @6a6e671f. (org.apache.hc.client5.http.impl.classic.HttpClientBuilder is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @6a6e671f, parent loader 'platform')
at org.eclipse.ecf.internal.provider.filetransfer.httpclient5.Activator.getHttpClientFactory(Activator.java:247)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient5.Activator.registerHttpClient(Activator.java:290)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient5.Activator.getBrowseHttpClient(Activator.java:264)
at org.eclipse.ecf.provider.filetransfer.httpclient5.HttpClientBrowseFileTransferFactory$1.sendBrowseRequest(HttpClientBrowseFileTransferFactory.java:59)
at org.eclipse.ecf.provider.filetransfer.browse.MultiProtocolFileSystemBrowserAdapter.sendBrowseRequest(MultiProtocolFileSystemBrowserAdapter.java:97)
at org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.sendBrowseRequest(FileInfoReader.java:183)
at org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.getRemoteFiles(FileInfoReader.java:108)
at org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.getRemoteFile(FileInfoReader.java:124)
at org.eclipse.equinox.internal.p2.transport.ecf.FileInfoReader.getLastModified(FileInfoReader.java:129)
at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.getLastModified(RepositoryTransport.java:275)
at org.eclipse.oomph.p2.internal.core.CachingTransport.delegateGetLastModified(CachingTransport.java:427)
at org.eclipse.oomph.p2.internal.core.CachingTransport.getLastModified(CachingTransport.java:364)
at org.eclipse.equinox.internal.p2.repository.CacheManager.getLastModified(CacheManager.java:278)
at org.eclipse.equinox.internal.p2.repository.CacheManager.createCache(CacheManager.java:195)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.getLocalFile(CompositeMetadataRepositoryFactory.java:77)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:100)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:799)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:119)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:448)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:231)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:520)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.p2.engine.ProvisioningContext.loadMetadataRepository(ProvisioningContext.java:253)
at org.eclipse.equinox.p2.engine.ProvisioningContext.getLoadedMetadataRepositories(ProvisioningContext.java:235)
at org.eclipse.equinox.p2.engine.ProvisioningContext.getMetadata(ProvisioningContext.java:317)
at org.eclipse.equinox.internal.p2.operations.RequestFlexer.findIUsWithSameId(RequestFlexer.java:317)
at org.eclipse.equinox.internal.p2.operations.RequestFlexer.findAllVersionsAvailable(RequestFlexer.java:310)
at org.eclipse.equinox.internal.p2.operations.RequestFlexer.loosenUpOriginalRequest(RequestFlexer.java:254)
at org.eclipse.equinox.internal.p2.operations.RequestFlexer.computeLooseRequest(RequestFlexer.java:217)
at org.eclipse.equinox.internal.p2.operations.RequestFlexer.getChangeRequest(RequestFlexer.java:89)
at org.eclipse.equinox.p2.operations.RemediationOperation.computeRemedy(RemediationOperation.java:154)
at org.eclipse.equinox.p2.operations.RemediationOperation.computeAllRemediations(RemediationOperation.java:113)
at org.eclipse.equinox.p2.operations.RemediationOperation.computeProfileChangeRequest(RemediationOperation.java:97)
at org.eclipse.equinox.p2.operations.RemediationOperation.lambda$0(RemediationOperation.java:223)
at org.eclipse.equinox.internal.p2.operations.RemediationResolutionJob.runModal(RemediationResolutionJob.java:41)
at org.eclipse.equinox.p2.operations.ProfileChangeOperation.resolveModal(ProfileChangeOperation.java:117)
at org.eclipse.equinox.internal.p2.ui.dialogs.ProvisioningOperationWizard.computeRemediationOperation(ProvisioningOperationWizard.java:317)
at org.eclipse.equinox.internal.p2.ui.dialogs.ProvisioningOperationWizard.lambda$10(ProvisioningOperationWizard.java:351)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:124)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the Windows installation sequence for Enterprise Java 2024-06, Liberty Developer Tools, and the Liberty Tools 24.0.9 driver, then inspect the workspace log and the missing org.eclipse.lsp4mp.jdt.core requirement. Trace the Equinox p2 and ECF HttpClient5 errors shown in the stack trace; done means Liberty Tools installs successfully after Liberty Developer Tools.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- developer-experience, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100