Early Access Program Features

IntelliJ IDEA 2017.2 EAP: Run Dashboard for Spring Boot

Last week we’ve published a new IntelliJ IDEA 2017.2 EAP build, which, among various bugfixes and improvements, brings a new experimental feature, we think you may find very interesting. Because it’s still work in progress, you need to explicitly enable it via VM property -Dide.run.dashboard=true, or through the Registry.

After that, you will find that the traditional Run tool window for Spring Boot applications was replaced with the new Run Dashboard (in the future we plan that replacement for other app types, too.)

This new dashboard lets you explore and manage multiple Run configurations at once, with the list of Run configurations and their status on the left, and details and application-specific information on the right. Also, you get the tool bar that is handy to issue commands like run, stop, or restart.

For example, Spring Boot applications display the recently introduced Endpoints tab:

Screen Shot 2017-05-15 at 12.36.65

If you prefer so, the new tool window can look exactly like the Run tool window. Just click the Show Configurations button on the left toolbar, and then use the tabs on top to switch between running applications:

Screen Shot 2017-05-15 at 12.36.66

We’re very excited about this new feature and believe that it can be applied not only to Spring Boot, but to many other types of applications (and maybe not only applications). This is why we’d like to ask you for your feedback. Please give this new feature a try and share with us both your impressions and improvement suggestions. We hope your feedback will help us better understand the possible usage scenarios and put them in IntelliJ IDEA 2017.2.

Comments below can no longer be edited.

42 Responses to IntelliJ IDEA 2017.2 EAP: Run Dashboard for Spring Boot

  1. Avatar

    Andreas Falk says:

    May 15, 2017

    This is a great feature I was waiting for since a long time. Eclipse based spring tool suite does already provide such spring boot dashboard for more than a year now Great to have thos now in IntelliJ as well.

  2. Avatar

    Georgios Andrianakis says:

    May 15, 2017

    This looks like a great feature, I wasn’t able to try it however…

    I added the -Dide.run.dashboard VM property but nothing changed.
    I should also add that my OS is Ubuntu 16.04

  3. Avatar

    Hylton Peimer says:

    May 15, 2017

    Thank you!
    I’ve been dreaming of the functionality for a long time.

  4. Avatar

    Jens Voss says:

    May 16, 2017

    Sounds great, but could you please give a few more details on how this is supposed to be enabled? I tried adding “-Dide.run.dashboard=true” to my idea.exe.vmotions file (I’m running build #IU-172.2103.15 on Windows 7), but the Run Dashboard tool window is nowhere to be found 🙁

    • Avatar

      Jens Voss says:

      May 17, 2017

      Oops, I just saw that the bin directory not only contains an idea.exe.vmoptions, but also an idea64.exe.vmoptions file. Now everything works as it should.

  5. Avatar

    Joakim says:

    May 16, 2017

    This looks great!

    Do you have any plans for a feature similar to the “Update classes and resources”-action available when running an application server? Or adding the src/main/resources path to the runtime classpath similar to how the spring-boot maven plugin does? When running with the spring-boot maven plugin, my resource edits are pretty much live as soon as I switch to my browser, but I would prefer to run my application without going through maven.

    Also, I would love to be able to associate for example an npm-command (TypeScript file watcher) to start any time I start my application!

  6. Avatar

    hegfirose says:

    May 18, 2017

    @Andrey Cheptsov

    Could you tell me which screenshot software do you use. Thanks.

  7. Avatar

    Alex says:

    May 19, 2017

    Would be nice to have F4 action navigating to main Boot config class.
    As well Mappings endpoint with possibility to open in browser would help.

    Small regression alt-f4 shortcut stopped working.


  8. Avatar

    László Csontos says:

    May 20, 2017

    Very nice feature, I’m looking forward to using it! 🙂
    Will it be available for Community edition as well?

  9. Avatar

    Sigal says:

    May 21, 2017

    This looks very promising, but if I could launch a boot application with JRebel from the dashboard it would be even nicer

  10. Avatar

    Christopher says:

    May 22, 2017

    For me its not working, if i run my application i get an Unknown error. From the logs:

    2017-05-22 20:51:51,628 [ 107480] INFO – lij.compiler.impl.CompilerUtil – COMPILATION FINISHED (BUILD PROCESS); Errors: 0; warnings: 0 took 11133 ms: 0 min 11sec
    2017-05-22 20:51:52,336 [ 108188] WARN – xecution.runners.ExecutionUtil – Execution error without description
    at com.intellij.execution.dashboard.RunDashboardManagerImpl.a(RunDashboardManagerImpl.java:284)
    at com.intellij.execution.dashboard.RunDashboardManagerImpl.access$200(RunDashboardManagerImpl.java:59)
    at com.intellij.execution.dashboard.RunDashboardManagerImpl$5.selectionChanged(RunDashboardManagerImpl.java:141)
    at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:99)
    at com.intellij.util.EventDispatcher.access$200(EventDispatcher.java:35)
    at com.intellij.util.EventDispatcher$2.invoke(EventDispatcher.java:79)
    at com.sun.proxy.$Proxy92.selectionChanged(Unknown Source)
    at com.intellij.ui.content.impl.ContentManagerImpl.a(ContentManagerImpl.java:580)
    at com.intellij.ui.content.impl.ContentManagerImpl.addSelectedContent(ContentManagerImpl.java:393)
    at com.intellij.ui.content.impl.ContentManagerImpl$1.run(ContentManagerImpl.java:484)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContent(ContentManagerImpl.java:502)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContentCB(ContentManagerImpl.java:451)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContentCB(ContentManagerImpl.java:440)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContentCB(ContentManagerImpl.java:521)
    at com.intellij.ui.content.impl.ContentManagerImpl.setSelectedContent(ContentManagerImpl.java:526)
    at com.intellij.ui.content.impl.ContentManagerImpl.c(ContentManagerImpl.java:175)
    at com.intellij.ui.content.impl.ContentManagerImpl.addContent(ContentManagerImpl.java:152)
    at com.intellij.execution.ui.RunContentManagerImpl.a(RunContentManagerImpl.java:347)
    at com.intellij.execution.ui.RunContentManagerImpl.showRunContent(RunContentManagerImpl.java:396)
    at com.intellij.execution.impl.ExecutionManagerKtImpl$startRunProfile$startRunnable$1$2$1.run(ExecutionManagerKtImpl.kt:86)
    at com.intellij.ui.AppUIUtil.invokeLaterIfProjectAlive(AppUIUtil.java:97)
    at com.intellij.execution.impl.ExecutionManagerKtImpl$startRunProfile$startRunnable$1$2.consume(ExecutionManagerKtImpl.kt:77)
    at com.intellij.execution.impl.ExecutionManagerKtImpl$startRunProfile$startRunnable$1$2.consume(ExecutionManagerKtImpl.kt:40)
    at org.jetbrains.concurrency.DonePromise.done(DonePromise.java:40)
    at com.intellij.execution.impl.ExecutionManagerKtImpl$startRunProfile$startRunnable$1.run(ExecutionManagerKtImpl.kt:76)
    at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:86)
    at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:72)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:416)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:399)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
    at com.intellij.ide.IdeEventQueue.h(IdeEventQueue.java:821)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:649)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

  11. Avatar

    Artur says:

    May 26, 2017

    Is it working when using Kotlin as a language?

    • Avatar

      Andrey Cheptsov says:

      May 30, 2017

      Yes, should work.

      • Avatar

        Andrew says:

        July 19, 2017

        Thanks for the article on https://habrahabr.ru/company/JetBrains/blog/333648/ due to which I knew about this feature.

        I have a Spring Boot project on Kotlin, and this feature does not work for some reason: there appears no “Run Dashboard”, just standard “Run”.

        I’ve updated VM options through Help > Edit Custom VM Options, so now they are as follows:

        # custom IntelliJ IDEA VM options


        Below, please find some other data of my environment:

        IntelliJ IDEA 2017.2 data: Build #IC-172.3317.76, built on July 15, 2017
        JRE: 1.8.0_152-release-915-b5 amd64
        JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
        Windows 10 10.0

        Spring Boot v2.0.0.M2

        Kotlin: 1.1.2-5

        • Avatar

          Andrey Cheptsov says:

          July 20, 2017

          Due to some technical issues, this feature still requires the VM options. We going to enable the feature by default in the nearest update. Sorry about that.

  12. Avatar

    Chris Roberts says:

    June 15, 2017

    Looks great! In the last screenshot (where it works like the existing Run tool window), it would be nice if you could have tabs across the top for all the configurations at once (or maybe the just the running ones), so to the right of “Run Dashboard,” you would have multiple tabs (one for each configuration). I think that’s the way Data Grip does multiple result sets now in the latest version, and it seems more convenient that just having one at a time there.

    • Avatar

      Andrey Cheptsov says:

      June 16, 2017

      Thanks for the feedback. I will share it with the team.

  13. Avatar

    fzhyzamt says:

    July 20, 2017

    Testing of a method cannot start. Adding port numbers to the juint’s vmoption option can start normal, and testing a class is normal as well

  14. Avatar

    Thomas says:

    August 1, 2017

    Can anyone tell me how to add the argument in OS X?

    • Avatar

      Andrey Cheptsov says:

      August 2, 2017

      Sorry, not sure I understand the question. Do you mean how to add a VM option? Then it is Help | Edit custom VM options.

  15. Avatar

    eagoo says:

    August 3, 2017

    why report:

    Failed to retrieve ‘health’ endpoint data:
    error unmarshalling return; nested exception is:
    java.lang.ClassNotFoundException: scala.collection.immutable.Map$Map2 (no security manager: RMI class loader disabled)

    • Avatar

      Konstantin Aleev says:

      August 4, 2017

      Maybe there are some problems with one of the health indicators.
      In order to receive more details message, please, add ‘management.security.enabled=false’ to application.properties file, restart application and check Health endpoint over HTTP. It should be exposed as ‘/health’.

      We will provider more details error messages in the next release.

      • Avatar

        eagoo says:

        August 16, 2017

        /health exposed ,but the same error .

        • Avatar

          Konstantin Aleev says:

          August 29, 2017

          Yes, error would be the same, but Spring Boot should provide more details error message over HTTP which should help you to figure out which health indicator causes exception.

  16. Avatar

    liuji says:

    August 30, 2017

    how can I set Open whit Browser On I want kind of Browser,not system default

  17. Avatar

    vasanth mahendran says:

    September 1, 2017

    I have added the VM argument -Dide.run.dashboard=true but still I can’t see the run dashboard for Spring boot Applications.

    I am using IntelliJ IDEA Ultimate 2017 2.3 in Windows


    • Avatar

      Konstantin Aleev says:

      September 19, 2017

      Hello! There is no need to explicitly enable Run Dashboard via VM property since 2017.2.1. However Spring Boot run configurations are not shown in Run Dashboard by default. In order to work with Spring Boot run configuration in Run Dashboard one need to enable ‘Show in Run Dashboard’ checkbox in Edit Run/Debug Configurations dialog. As soon as there are more than one Spring Boot run configuration in a project, Intellij IDEA would offer to show them in Run Dashboard.

  18. Avatar

    Andrey Saksonov says:

    September 21, 2017

    Hi! Could you document how application status is pulled from Spring Boot app to IDEA? I’ve noticed that we have some microservices which don’t use @SpringBootApplication/@EnableAutoConfiguration. Instead, they use @SpringBootConfiguration and @Import only subset of configurations they need (this dramatically reduce startup time, so we use this approach where it is critical). I noticed that IntelliJ can’t get status for “Run Dashboard” in this case. I suppose this is because some JMX endpoints are missing?

    • Avatar

      Konstantin Aleev says:

      March 6, 2018

      Hello, Andrey! Yes, Intellij IDEA checks Spring Boot app status via JMX by requesting Ready attributed from Spring Boot Application mbean. This bean is exposed by adding ‘-Dspring.application.admin.enabled=true’ VM option if user selects ‘Enable JMX agent’ for specific Spring Boot run configuration.

      • Avatar

        Ivan Sopov says:

        June 13, 2018

        This option is enabled by default. Another hour of debugging wasted…

  19. Avatar

    Arun says:

    December 14, 2017

    This is a false blog !! I am fed up trying all the options mentioned here and could see everything except “Spring Boot Run dashboard”

    This is a failure !!

    • Zlata Kalyuzhnaya

      Zlata Kalyuzhnaya says:

      December 15, 2017

      Hi Arun!
      We do have “Run dashboard”. And starting with IntelliJ IDEA 2017.3 you can add different types of run configurations to the Run Dashboard.
      In order to start using this new functionality – add the required run configuration to the Run Dashboard in the Run/Debug Configurations window.

  20. Avatar

    MasterPan says:

    February 9, 2018

    I have a problem, How to reset run dashboard in IDEA, I need help!! thanks!!

  21. Avatar

    Cedric Dumont says:

    February 14, 2018

    Already using this feature.
    it would be nice to have
    – a kind of save Run configuration
    – able to set service “depends on” or “sequential startup”: usually the configuration server must be ready before the discovery server and the discovery server must run before other services are started.

    • Avatar

      Konstantin Aleev says:

      February 14, 2018

      Cedric, thank you for your feedback! We are thinking on startup order customisation, please follow the issue: https://youtrack.jetbrains.com/issue/IDEA-173101. Could you please clarify what kind of save Run configuration you mentioned?

  22. Avatar

    Xiaodong, Wang says:

    March 6, 2018

    I added run dashboard in my IDEA, but now it cannot support JRebel, so I want to disable it, how can I disable it? Thanks

    • Avatar

      Konstantin Aleev says:

      March 6, 2018

      Hello, Xiaodong! In order to disable Run Dashboard you should remove run configurations types from the Run Dashboard Types list in the Run/Debug Configurations dialog. You can find the list at the right panel after selecting ‘Defaults’ node.

  23. Avatar

    zwq says:

    April 13, 2018

    1. open .idea folder find with workspace.xml open it;
    2. find
    insert code:


    • Avatar

      zwq says:

      April 13, 2018
  24. Avatar

    asdf says:

    April 20, 2018

    How to enable it? When run dash board dialog appeared, i mistakenly close the dialog..

Discover more