Open Liberty development mode, or dev mode, allows you to develop applications with any text editor or IDE by providing hot reload and deployment, on demand testing, and debugger support. Your code is automatically compiled and deployed to your running server, making it easy to iterate on your changes. You can run tests on demand or even automatically so that you can get immediate feedback on your changes. You can also attach a debugger at any time to debug your running application.
For a quick demo of what you can do with dev mode, check out the following video:
You can also follow the steps in the demo-devmode project used in the above video to try it out yourself.
Setting up the project
For Maven projects, dev mode is run through the Liberty Maven Plugin. Specify the Liberty Maven Plugin with version
3.1 or above in your project’s
<plugin> <groupId>io.openliberty.tools</groupId> <artifactId>liberty-maven-plugin</artifactId> <version>3.1</version> </plugin>
Starting dev mode
Start dev mode by running the following command in your project:
Automatically recompiling and deploying to the running server
Once dev mode is started, source code changes are automatically compiled and deployed to the running server. You can add new dependencies in your
pom.xml file to be used for compilation. Resources and server configuration changes are also picked up. If any features are added to the
server.xml file, they are installed automatically.
Running tests automatically and on demand
To run tests on demand, press Enter in the terminal where dev mode is running. This invokes the unit tests and integration tests that are configured for your project.
To run tests automatically after every change, include the
-DhotTests parameter when starting dev mode. For example:
mvn liberty:dev -DhotTests
Attaching a debugger
At any point during dev mode, you can attach a Java debugger to debug your application. By default, the debug port is
7777, but another port can be used and shown in the console output if the default port is not available.
Stopping dev mode
You can quit dev mode at any time by pressing CTRL+C in the terminal, or type
q and press Enter.