Developer Tools known restrictions
Several known restrictions apply when you are working with WebSphere® Application Server Developer Tools for Eclipse.
List of known issues and restrictions:
- Unable to interact with the Liberty server after modifying the console log level settings
- Copying and pasting servers might cause the publishing state to become out of synchronization
- Unable to recognize the start of the server when the hideMessage attribute is used to suppress the message
- Remote servers cannot run projects that were created with a newer version of Java
- Some utilities are unavailable when you use a remote Liberty server or a Liberty server in a Docker container
- A change in the default Liberty runtime name can cause project migration
- Application shows twice under the server in the Server view
- Server error when enabling or disabling running applications directly from the server
- Unable to interact with the Liberty server after modifying the JSON logging field names
Unable to interact with the Liberty server after you modify the console log level settings
There is a known limitation when the console log level is set toWARNING
, ERROR
, or OFF
. The workbench has
problems when it interacts with the Liberty
server, such as cannot start, stop, or publish to the server. For example, the workbench is unable
to start the Liberty server and the following
timeout error message displays: The console log level (consoleLogLevel
) is an attribute of the
logging
configuration element in the server configuration
(server.xml
) file with the following range options: INFO
,
AUDIT
, WARNING
, ERROR
, and OFF
.
AUDIT
is the default value for the console log level settings. For more details,
search for the consoleLogLevel
attribute in the Liberty kernel topic.
INFO
or use the default AUDIT
setting for the console log level: - In the Servers view, expand your Liberty server.
- Right-click the Server Configuration[server.xml] node and select Open.
- In the Server Configuration editor and under the Configuration Structure
section, expand Server Configuration node. The next step depends if the
Logging element is available:
- If the Logging element is available, select it and under the
Logging section of the server configuration editor, use the drop-down menu
for the Console log level field, and select either the
AUDIT
orINFO
option. TypeCtrl + s
to save your changes in the editor. - If the Logging element is not available, the workbench is already using
the default
AUDIT
setting. As a result, you might be experiencing a different problem that is causing interaction failures between the workbench and the Liberty server.
- If the Logging element is available, select it and under the
Logging section of the server configuration editor, use the drop-down menu
for the Console log level field, and select either the
Copying and pasting servers might cause the publishing state to become out of synchronization
Try to avoid copying and pasting servers because they point to the same configuration file. Copying and pasting servers might cause the publishing state to become out of synchronization. For example, when you remove an application from one server, the application still appears to be deployed to the other server even though it is not. Server state will not synchronize up again until the next publish operation.Unable to recognize the start of the server when the hideMessage attribute is used to suppress the message
<hideMessage>
attribute in the Logging
element of Server Configuration [server.xml] to suppress
messages. If you configure to hide the server start message, for example <logging
hideMessage="CWWKF0011I"/>
, then the tool fails to recognize the state of the server when
it is started. In such a situation, the state of the server in the Server
view remains as starting until timeout and finally displays the following
message:Remote servers cannot run projects that were created with a newer version of Java
If you compile a project with a higher version of Java than your remote server is running, you can receive the following error messages:
Error 404: javax.servlet.UnavailableException: SRVE0202E: Servlet [s1]: s1 was found, but is corrupted: SRVE0227E: Check that the class resides in the proper package directory. SRVE0228E: Check that the classname has been defined in the server using the proper case and fully qualified package. SRVE0229E: Check that the class was transferred to the filesystem using a binary transfer mode. SRVE0230E: Check that the class was compiled using the proper case (as defined in the class definition). SRVE0231E: Check that the class file was not renamed after it was compiled.
If you create a project in a package with a higher version of Java than your remote server is running, you can receive the following error messages:
Error 404: java.io.FileNotFoundException: SRVE0190E: File not found: /s2 Console output: [ERROR ] SRVE0266E: Error occurred while initializing servlets: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=s1, offset=6 at java.lang.ClassLoader.defineClassImpl(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:383) at com.ibm.ws.classloading.internal.AppClassLoader.definePackageAndClass(AppClassLoader.java:318) at [internal classes]
To avoid these errors, compile your project with the same version of Java that your remote server is running, or with an earlier version. You can also create your project in a package with the same version of Java that your remote server is running, or with an earlier one. To find the Java version of the remote server, check the messages.log file. For more information about viewing the messages.log file, see Viewing trace and message log files by using developer tools.
Some utilities are unavailable when you use a remote Liberty server or a Liberty server in a Docker container
- Generate Web Server Plug-in
- Add Configuration Snippets
- Generate Web Server Plug-in
- Package Server
- Add Configuration Snippets
A change in the default Liberty runtime name can cause project migration
The default Liberty runtime name was
changed from WebSphere Application Server Liberty
to Liberty Runtime
. Projects that
are targeted to a runtime with the old default name must be migrated when they are imported into a
workspace where the runtime has the new default name. When you import the project, the
Workspace Migration wizard automatically prompts you to migrate the project to
the new runtime name.
Application shows twice under the server in the Server view
The tools expect that the application project name in Eclipse matches the application name that is specified in the server configuration. When you use the tools to deploy your application, the application project name matches the application name in the server configuration. However, if you add the application directly to the server configuration file, check that the project name in Eclipse matches the application name. When the project name does not match the application name, the tools do not recognize that they are the same application, so the application is added to the server configuration again.
Server error when enabling or disabling running applications directly from the server
[ERROR] CWSRS1001E: JAX-RS metadata could not be built for the dt-ejb module due to the following error: java.lang.NullPointerException
at com.ibm.ws.jaxrs.metadata.ejb.ArchiveInfoImpl$1.run(ArchiveInfoImpl.java:207)
at [internal classes]
Unable to interact with the Liberty server after modifying the JSON logging field names
If you use one of the following methods of modifying the JSON logging field names and you modify the message field name, the tools will have problems interacting with the server such as cannot start, stop, or publish to the server. Leave the message field name unchanged when using the tools.
- Environment variable:
WLP_LOGGING_JSON_FIELDS
- Bootstrap properties:
com.ibm.ws.logging
- server.xml logging element attribute
jsonFields