Skip to content

Latest commit

 

History

History
120 lines (82 loc) · 11.3 KB

README.md

File metadata and controls

120 lines (82 loc) · 11.3 KB

Liberty Tools for IntelliJ IDEA

Note: Version 24.0.12 requires IntelliJ IDEA 2024.1.*, 2024.2.*, or 2024.3.* and a minimum of Java 17.

This page provides an overview of Liberty Tools for IntelliJ IDEA. For minimum requirements information and detailed instructions on how to use Liberty Tools, check the user-guide.

JetBrains plugins Downloads License

Liberty Tools for IntelliJ IDEA is an IntelliJ IDEA plugin for developing cloud-native Java applications with Open Liberty and WebSphere Liberty. Iterate fast with Liberty dev mode, code with assistance for MicroProfile and Jakarta EE APIs, and easily edit Liberty configuration files.

Liberty Tools for IntelliJ includes LSP4IJ, an external plugin dependency that is automatically installed with Liberty Tools. LSP4IJ is a free and open-source Language Server Protocol (LSP) client developed by Red Hat, enabling seamless language server integration.

If you wish to change the version of LSP4IJ installed along with Liberty Tools, you can refer to the documentation here.

Liberty Tools Extension


Use Liberty Tools to run your Liberty Maven or Liberty Gradle projects through the Liberty tool window or the IntelliJ "Search Everywhere" window. You can start, stop, or interact with Liberty dev mode on all configured Liberty Maven and Liberty Gradle projects in your workspace. Liberty Tools also helps you quickly and easily edit your application and configuration files by providing language support features for MicroProfile, Jakarta EE, and Liberty configuration and Java files.

For minimum requirements information and detailed instructions on how to use Liberty Tools, check out the Liberty Tools for IntelliJ IDEA user guide page.

Features

  • View Liberty projects in the Liberty tool window.
  • Start/Stop dev mode.
  • Start dev mode with custom parameters.
  • Start dev mode in a container.
  • Start dev mode with the debugger attached.
  • Run tests.
  • View test reports.
  • Code with language assistance in the following configuration and application files:
    • server.xml, server.env, bootstrap.properties Liberty configuration files
    • Jakarta EE 9.x APIs in Java files
    • MicroProfile APIs in microprofile-config.properties and Java files

Feature completion in server.xml files helps you quickly edit your Liberty runtime configuration.

Liberty Config Language Server completion

Hover in bootstrap.properties files provides more detailed descriptions.

Liberty Config Language Server hover

Diagnostics in server.env files helps you quickly spot errors in your Liberty runtime configuration.

Liberty Config Language Server diagnostic

Helpful code snippets are provided in Java files for Jakarta EE APIs such as Jakarta RESTful Web Services.

Eclipse LSP4Jakarta completion

Code completion for microprofile-config.properties files helps you easily set properties for MicroProfile APIs.

Eclipse LSP4MP completion

Editing assistance for configuration and application files is provided through the following language server projects, which this project consumes. For more information, see the documentation for these projects.

Quick start

Projects with the Liberty Maven Plugin or Liberty Gradle Plugin configured will appear in the Liberty tool window on the sidebar. If the tool window is not enabled by default, you can view it by selecting View > Tool Windows > Liberty.

Note: Make sure the JAVA_HOME system environment variable is set to define the JDK for running Liberty dev mode.

For minimum requirements information and detailed instructions on how to use the Liberty actions, check out the Liberty Tools for IntelliJ IDEA user guide page.

Actions

The following actions are available when you select a project in the Liberty Tool Window.

Action Description
Start Start dev mode.
Start… Open the Run Configurations dialog to customize and start dev mode. Supported parameters can be found in the documentation for the dev goal of the Liberty Maven Plugin and the libertyDev task of the Liberty Gradle Plugin.
Start in a container Start dev mode with Liberty running in a container. The liberty-maven-plugin must be version 3.3-M1 or higher. The liberty-gradle-plugin must be version 3.1-M1 or higher.
Stop Stop dev mode. Liberty must be running in dev mode to use this command.
Run tests Run the unit tests and integration tests that are configured for your project. Liberty must be running in dev mode to use this command.
View integration test report (Maven) View the integration test report file if it exists at target/reports/failsafe.html or target/site/failsafe-report.html.
View unit test report (Maven) View the unit test report file if it exists at target/reports/surefire.html or target/site/surefire-report.html.
View test report (Gradle) Open the test report file, if it exists at the build/reports/tests/test/index.html default location. This action command is available only to Gradle projects. Gradle projects have only a single action command for test result reporting.

Technical support

If you experience a problem with this plugin you might be asked to collect language server messages to assist in problem determination. Follow these steps:

  1. Click the Language Servers tool window in the IntelliJ IDE to show the LSP Consoles.
  2. Select the language server you need to monitor and then select Trace: verbose.
  3. Save the configuration.
  4. Perform the actions that demonstrate the issue and messages will appear in the console. Click a message and select all the text in the console, for example, Ctrl-A on Windows or Cmd-A on MacOS. Copy the text and paste it into a message to send to the developer who is assisting you with the issue.

Requirements

Version 24.0.12 requires IntelliJ IDEA 2024.1.*, 2024.2.*, or 2024.3.* and a minimum of Java 17.

For more details, check the user guide.

Contributing

See the DEVELOPING and CONTRIBUTING documents for more details.

Issues

Please report bugs, issues and feature requests by creating a GitHub issue.