IBM Support

Known problems and limitations in IBM Liberty Developer Tools

Release Notes


Abstract

This page contains known issues for the current supported versions of IBM Liberty Developer Tools - v23.2 and v23.1.

Content

Customers installing IBM Liberty Developer Tools are encouraged to read all technotes before installation. The information below highlights key issues and related technical guidance for known issues with specific releases and environment configurations.

IBM Liberty Developer Tools v23.2

Symptom Workaround
Sometimes when right clicking an EAR project and selecting java ee tools -> Generate Deployment Descriptor Stub it generates a stub which doesn't include modules inside it.
Manually delete the deployment descriptor and try again. It seems to alternate between creating an application.xml file without stubs and one with stubs each time you retry (delete the file first to enable the menu item).
You encounter the following error when publishing a Jakarta EE application to the server:
[WARNING ] CWWKF0046W: The configuration includes an incompatible combination of features.
As a result, the feature manager did not install any features.
WDT adds Java EE features for Jakarta EE applications and the server reports the error as feature conflicts.
After the server has been started, comment out or delete the Java EE features from your server.xml file, and save it so that the server picks up the changes.
Note that it is important to make the changes while the server is started. If you make the changes while the server is stopped, the Java EE features will be added back again when the server is started.
When importing a Gradle app you can receive " 'Auto share git projects' has encountered a problem. Connecting Git team provider failed. See log for details"
If you are trying to Auto share the project then configure eGit. If you are not then go to Preferences > Version Control (Team) > Git > Projects > and untick "Automatically share projects located in a Git repository"
If you have two Liberty runtimes each controlling different remote servers, you could hit java.lang.NullPointerException: Cannot invoke "com.ibm.ws.st.ui.internal.wizard.WebSphereServerParentComposite.getChildren()" because "this.comp" is null
Workaround: controlling multiple remote servers with the same local runtime works.
When using the Docker Tooling perspective to pull an image, you could encounter the following error: org.mandas.docker.client.exceptions.DockerException: java.io.IOException: Cannot run program "docker-credential-desktop": error=2, No such file or directory.
To workaround this issue, go to ~/.docker/config.json and change credsStore to credStore. You can also use docker pull manually to pull down the image you need rather than using the tooling. Issue raised here.
There is no warning provided if you try to use incompatible features in a Liberty server, e.g. servlet-3.0 and servlet-3.1 in server.xml
Remove the incompatible feature
During a Gradle build, you receive java.lang.IllegalArgumentException: Unsupported class file major version 61. Issue raised against Eclipse as they do not ship a Java 17 compatible version of the Gradle Tooling api (issue here).
Set system property GRADLE_VERSION_OVERRIDE and LDT will use that value instead of the one the Gradle plug-in says to use. This only works if code requesting the Gradle version is LDT. If it's a plug-in (e.g. Liberty Gradle plug-in) this workaround won't help.
When creating or importing a project which uses the Liberty Gradle plugin version 3.x, no prompt appears to create a runtime and server for the project.
This can be worked around by manually specifying the location of the server.xml file in the build.Gradle file which is detailed in this issue.
When generating a web service into an OSGi app and completing the wizard, a dialog appears saying that the app hasn't started successfully. At this point, the Liberty server logs report: The application JWS_OSGi_BU.app could not be started as it could not be found at location JWS_OSGi_BU.app.eba.
Clicking "Finish" again deploys the app and the wizard completes successfully.
When creating and deploying a web service client using the Generate Web Service wizard, Eclipse could wrongly report that the generated client has validation errors and might not deploy correctly.
In this case, try clicking OK to continue with the deployment. Once the wizard has completed, check for error markers on the web service client project.
Aesthetic inconsistencies present in some wizards when using dark mode
No work-around available

Jakarta EE9 specific known issues

Symptom Workaround
LDT allows a user to select the Dynamic Web Project facet v5.0. This version of the facet uses Jakarta EE9 and LDT does not support Jakarta EE9. An update to WTP has made this available, however LDT does not yet support this.
Jakarta EE9 and Dynamic Web Project facet v5.0 are not supported at this time

IBM Liberty Developer Tools v23.1

General known issues

Symptom Workaround
After installation, Maven integration is broken or failing. When further inspecting the Eclipse log file, the following entry may be seen:
"org.osgi.framework.BundleException: Could not resolve module: org.eclipse.jst.server.preview.adapter [529]"

This is an Eclipse bug being fixed under https://bugs.eclipse.org/bugs/show_bug.cgi?id=582183

To work around this problem, add the following:
jakarta.enterprise.cdi-api,2.0.2,plugins/jakarta.enterprise.cdi-api_2.0.2.jar,4,false

anywhere in the file:

${eclipse_install_directory}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info

You encounter the following error when publishing a Jakarta EE application to the server:
[WARNING ] CWWKF0046W: The configuration includes an incompatible combination of features.
As a result, the feature manager did not install any features.
WDT adds Java EE features for Jakarta EE applications and the server reports the error as feature conflicts.
After the server has been started, comment out or delete the Java EE features from your server.xml file, and save it so that the server picks up the changes.
Note that it is important to make the changes while the server is started. If you make the changes while the server is stopped, the Java EE features will be added back again when the server is started.
You encounter the following error in a Maven project:
"Conflicting lifecycle mapping metadata (project packaging type="bundle"): Mapping defined in 'org.eclipse.m2e.pde.connector_2.1.2.20221218-1726 [613]' and 'com.ibm.etools.aries.maven.core_1.0.210.v20230524_2057 [988]'. To enable full functionality, remove the conflicting mapping and run Maven->Update Project Configuration."
Right-click on the error, select Quick Fix and choose Ignore M2E PDE Connector for bundle in eclipse preferences.
Run Maven > Update Project Configuration on the project.
image
When importing a Gradle app you can receive " 'Auto share git projects' has encountered a problem. Connecting Git team provider failed. See log for details"
If you are trying to Auto share the project then configure eGit. If you are not then go to Preferences > Version Control (Team) > Git > Projects > and untick "Automatically share projects located in a Git repository"
If you have two Liberty runtimes each controlling different remote servers, you could hit java.lang.NullPointerException: Cannot invoke "com.ibm.ws.st.ui.internal.wizard.WebSphereServerParentComposite.getChildren()" because "this.comp" is null
Workaround: controlling multiple remote servers with the same local runtime works.
When using the Docker Tooling perspective to pull an image, you could encounter the following error: org.mandas.docker.client.exceptions.DockerException: java.io.IOException: Cannot run program "docker-credential-desktop": error=2, No such file or directory.
To workaround this issue, go to ~/.docker/config.json and change credsStore to credStore. You can also use docker pull manually to pull down the image you need rather than using the tooling. Issue raised here.
There is no warning provided if you try to use incompatible features in a Liberty server, e.g. servlet-3.0 and servlet-3.1 in server.xml
Remove the incompatible feature
During a Gradle build, you receive java.lang.IllegalArgumentException: Unsupported class file major version 61. Issue raised against Eclipse as they do not ship a Java 17 compatible version of the Gradle Tooling api (issue here).
Set system property GRADLE_VERSION_OVERRIDE and LDT will use that value instead of the one the Gradle plug-in says to use. This only works if code requesting the Gradle version is LDT. If it's a plug-in (e.g. Liberty Gradle plug-in) this workaround won't help.
When creating or importing a project which uses the Liberty Gradle plugin version 3.x, no prompt appears to create a runtime and server for the project.
This can be worked around by manually specifying the location of the server.xml file in the build.Gradle file which is detailed in this issue.
When generating a web service into an OSGi app and completing the wizard, a dialog appears saying that the app hasn't started successfully. At this point, the Liberty server logs report: The application JWS_OSGi_BU.app could not be started as it could not be found at location JWS_OSGi_BU.app.eba.
Clicking "Finish" again deploys the app and the wizard completes successfully.
When creating and deploying a web service client using the Generate Web Service wizard, Eclipse could wrongly report that the generated client has validation errors and might not deploy correctly.
In this case, try clicking OK to continue with the deployment. Once the wizard has completed, check for error markers on the web service client project.
Aesthetic inconsistencies present in some wizards when using dark mode
No work-around available

Jakarta EE9 specific known issues

Symptom Workaround
LDT allows a user to select the Dynamic Web Project facet v5.0. This version of the facet uses Jakarta EE9 and LDT does not support Jakarta EE9. An update to WTP has made this available, however LDT does not yet support this.
Jakarta EE9 and Dynamic Web Project facet v5.0 are not supported at this time

IBM Liberty Developer Tools v22.2

General known issues

Symptom Workaround
When importing a Gradle app you can receive " 'Auto share git projects' has encountered a problem. Connecting Git team provider failed. See log for details"
If you are trying to Auto share the project then configure eGit. If you are not then go to Preferences > Version Control (Team) > Git > Projects > and untick "Automatically share projects located in a Git repository"
Unable to start a server on a remote Ubuntu 22.04 system
It is possible to connect to and stop a remote server on Ubuntu 22.04, but it is not possible to start it, as Ubuntu 22.04 no longer supports the SSH host key algorithm used by WDT.
 
To work around this issue, on the remote machine, edit /etc/ssh/sshd_config and add the following:
  HostKeyAlgorithms +ssh-rsa
  PubkeyAcceptedKeyTypes +ssh-rsa
 
Then restart sshd service by using:
  sudo systemctl restart sshd
If you have two Liberty runtimes each controlling different remote servers, you could hit java.lang.NullPointerException: Cannot invoke "com.ibm.ws.st.ui.internal.wizard.WebSphereServerParentComposite.getChildren()" because "this.comp" is null
Workaround: controlling multiple remote servers with the same local runtime works.
When using the Docker Tooling perspective to pull an image, you could encounter the following error: org.mandas.docker.client.exceptions.DockerException: java.io.IOException: Cannot run program "docker-credential-desktop": error=2, No such file or directory.
To workaround this issue, go to ~/.docker/config.json and change credsStore to credStore. You can also use docker pull manually to pull down the image you need rather than using the tooling. Issue raised here.
There is no warning provided if you try to use incompatible features in a Liberty server, e.g. servlet-3.0 and servlet-3.1 in server.xml
Remove the incompatible feature
During a Gradle build, you receive java.lang.IllegalArgumentException: Unsupported class file major version 61. Issue raised against Eclipse as they do not ship a Java 17 compatible version of the Gradle Tooling api (issue here).
Set system property GRADLE_VERSION_OVERRIDE and LDT will use that value instead of the one the Gradle plug-in says to use. This only works if code requesting the Gradle version is LDT. If it's a plug-in (e.g. Liberty Gradle plug-in) this workaround won't help.
When creating or importing a project which uses the Liberty Gradle plugin version 3.x, no prompt appears to create a runtime and server for the project.
This can be worked around by manually specifying the location of the server.xml file in the build.Gradle file which is detailed in this issue.
When generating a web service into an OSGi app and completing the wizard, a dialog appears saying that the app hasn't started successfully. At this point, the Liberty server logs report: The application JWS_OSGi_BU.app could not be started as it could not be found at location JWS_OSGi_BU.app.eba.
Clicking "Finish" again deploys the app and the wizard completes successfully.
When creating and deploying a web service client using the Generate Web Service wizard, Eclipse could wrongly report that the generated client has validation errors and might not deploy correctly.
In this case, try clicking OK to continue with the deployment. Once the wizard has completed, check for error markers on the web service client project.
Aesthetic inconsistencies present in some wizards when using dark mode
No work-around available

Jakarta EE9 specific known issues

Symptom Workaround
LDT allows a user to select the Dynamic Web Project facet v5.0. This version of the facet uses Jakarta EE9 and LDT does not support Jakarta EE9. An update to WTP has made this available, however LDT does not yet support this.
Jakarta EE9 and Dynamic Web Project facet v5.0 are not supported at this time

Installing on older versions of Eclipse (2023-03 and earlier)

General known issues

Symptom Workaround
During installation, the following error message may be observed:
An error occurred while collecting items to be installed
session context was:(profile=DefaultProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
Result of processing steps.
OK
OK
OK
Public key not found for 810cecf8ba271008.
OK
Result of processing steps.
OK
OK
OK
Public key not found for 810cecf8ba271008.
OK

This is caused by Eclipse being incorrectly configured to update Eclipse plugins from the 'latest' update site. A manual configuration change is required to point your installed Eclipse to the appropriate update site for its version.

To access this configuration. go to Help -> Install New Software then press the Manage button. You will see a dialog box like this:

image

This screenshot was taken using Eclipse 2023-03 (you may need to expand the dialog box to see the contents better).

Select each of the three selected items (one at a time) , press the Edit button and change the URL so it matches the version of your installed Eclipse.

For example, if your installed Eclipse is version 2023-03, change the top URL from

https://download.eclipse.org/technology/epp/packages/latest/

to

https://download.eclipse.org/technology/epp/packages/2023-03/

This will ensure Eclipse selects the appropriate plugins that match your Eclipse version.

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSHR6W","label":"WebSphere Application Server Developer Tools for Eclipse"},"ARM Category":[{"code":"a8m3p0000008uKoAAI","label":"IBM WebSphere Liberty-All Platforms-\u003ESystem Management-\u003ELiberty Developer Tools LDT"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
05 December 2023

UID

ibm16841611