Two Issues I have With IntelliJ: Inconsistent building, and GUIs

During the massive end-of-days sale, I bought a copy of IntelliJ. I have been primarily a NetBeans developer, but I have used IntelliJ at a previous job. So two of the things that irritated me have been: the inconsistent build support and IntelliJ’s handling of Java GUIs.

IntelliJ has its own internal build system. However, it also has support for Maven. When you have a Maven project, it adds in dependencies to the Maven file, but continues to build with its internal build manager. If you need to add a dependency, IntelliJ will automatically add the dependency in the POM file, but you have to manually add it in its own build manager. Given this inconsistency, it is possible to have two different build configurations within the same project.

Additionally, converting a project from a Netbeans based project with a GUI doesn’t work in IntelliJ. IntelliJ will not interpret the Swing code generated by Netbeans. This means that for anything GUI related, I will have to use Netbeans.

What would be nice?

Support a non-proprietary build system. NetBeans defaults to ANT, and can support Maven natively. If this is not an option, then write an adapter for Maven/ANT/Gradle.

GUI: Reuse the Mattese code. Make Mattise a plugin and write an adaptor for IntelliJ.

  • Benoît LIESSENS

    We have been using IntelliJ for the past 8 months now on a Maven based project. And honestly, I’m surprised to read this. 
    Have you enabled the Maven auto-import ? In case you are running IDEA 12, try disabling the Maven 3 import feature.

    Cheers,
    Benoit

    • crash025

      I’ll take a look at that. I just added the module via it’s POM. When I modify the POM the dependencies get downloaded, but it never syncs with the build dependencies within IntelliJ’s build system.

      Also, this is with the latest InteliJ.

      • Benoît LIESSENS

        Had a closer look at this thing today:
        1. adding a dependency to the pom.xml, immediately created an xml file in the .idea/libraries/ folder. That dependency is then also listed in the Projects window
        2. The *.iml files on the other hand are regenerated when doing Build -> Rebuild Project.