Awesome
Liberty Config Language Server
Note: Starting with the Liberty LemMinX Language Server 1.0-M1 early release and Liberty Config Language Server 1.0-M1 early release, Java 17 is required.
The Liberty Config Language Server provides language server features for Liberty server configuration files through any of the supported client IDEs. It adheres to the language server protocol.
Client IDEs
The Liberty Config Language Server is included in the following client IDEs.
Supported files
Liberty Config Language Server features are available for the following configuration files.
- Any XML file that contains a
server
root element. - A
server.env
file located in a directory specified by theconfigDirectory
configuration in the Liberty Maven or Gradle plugin, or in the defaultsrc/main/liberty/config
directory. - Any file with the extension
.env
that is specified by theserverEnvFile
configuration in the Liberty Maven or Gradle plugin. - A
bootstrap.properties
file located in a directory specified by theconfigDirectory
configuration in the Liberty Maven or Gradle plugin, or in the defaultsrc/main/liberty/config
directory. - Any file with the extension
.properties
that is specified by thebootstrapPropertiesFile
configuration in the Liberty Maven or Gradle plugin.
Features
The following language server features are available through any of the supported client IDEs.
Completion for Liberty server configuration files
Start typing a Liberty property, variable, or XML configuration to view a list of possible options.
- Completion for Liberty properties and values
- Completion for Liberty variables and values
- Completion for Liberty XML configs
Hover on Liberty server configuration files
Hover your cursor over Liberty properties, variables, or XML configuration to view a description.
- Hover for Liberty properties and variables
- Hover for Liberty XML configs
Diagnostics and quick fixes on Liberty server configuration files
Diagnostics highlight potential problems in your configuration, such as invalid values. Quick fixes provide potential solutions to those problems.
- Diagnostics on Liberty properties and variables
- Diagnostics and quick fixes for Liberty XML configs
Minimum version recommendations for the Liberty Maven and Gradle plug-ins
A minimum version of the Liberty Maven Plug-in 3.7.1 or Liberty Gradle Plug-in 3.5.1 is recommended. If the Liberty Maven Plug-in or Liberty Gradle Plug-in is configured with the Liberty project, the Liberty Config Language Server automatically generates a schema file based on the Liberty runtime and version. This schema file provides relevant information about the supported server.xml
elements and Liberty features. If an earlier version of either plug-in is used, the schema file is not regenerated when additional features are installed. This limitation might result in a lack of hover, completion, or diagnostic support for elements related to those newly installed features.
If you are using dev mode for containers, a minimum version of the Liberty Maven Plug-in 3.7 or Liberty Gradle Plug-in 3.5 is recommended. If an earlier version is used, the Liberty Config Language Server cannot generate a schema file for use with server.xml
editing. In this case, a default schema that is based on Liberty 23.0.0.9 is used instead.
Contributing
See the DEVELOPING and CONTRIBUTING documents for more details.
License
Eclipse Public License - v 2.0 See LICENSE file.