meta data for this page
Intellij IDEA vs. Eclipse IDE in SAP Hybris Projects
Since I started working on SAP Hybris projects in October 2010, I used Eclipse IDE. This is the IDE recommended by Hybris and it was the only one which I had used on Java projects until that point in my career. On March 2014 I joined a Hybris project where each developer used its own favorite IDE: while the majority used Eclipse, our Continuous Integration experts used Intellij IDEA and two senior developers used Netbeans. Crashes and refresh issues have always upset me about Eclipse. So after listening to the advantages of the other IDEs, I decided to give Intellij IDEA a try because its supporters were more convincing. Although the use of an IDEA is a matter of taste, I hope you find useful to read about my experience.
Now I am using Intellij IDEA 15 Ultimate Edition at work since July 2014. Although I have to pay two licenses for the Intellij IDEA Ultimate and the Hybris Integration Plugin, the use of this IDEA acelerates my work and saves my time and saves my customers money.
Positive Points about Eclipse IDE
- You get all the features of the IDE for free. If you want to use Java EE features or Spring beans refactoring in Intellij IDEA, you have to pay for the Ultimate Edition. If you want to run integration tests inside the IDE and have autocompletation in Impex files, you have to pay for the Hybris Integration Plug-In.
Since June 2019 you not only have to pay for the Intellij IDEA Ultimate but also for the Hybris Integration Plug-in. Those tools are worth the EUR 500/200 your company paids the first year1) because they speed up your development. But use the 30-days trial decide on your own.
- When you build the Hybris project with Eclipse, the Hybris models are generated or updated.
- After an update of the Hybris Platform, the dependencies of each extension (libraries) are automatically updated. Intellij have an option to associate the iml file with the classpath file but it messes up the Hybris dependencies after a version update of the eCommerce Platform.
- The integration of Sonar in SAP Hybris Projects works. The current version of the two Sonar plugins for Intellij don't support multiple modules2).
Positive Points about Intellij IDEA
- There aren't any refresh problems. After an ´ant clean all´ you have to wait 10-15 seconds until Intellij reindexes all the files and they you can work normally. This IDE also seems to react faster: There are times when Eclipse just hangs and you don't know what it is doing.
- Refactorings are faster than in Eclipse. Additionally the IDE doesn't crash during the process and Intellij seems to spot required changes in Spring application which Eclipse seem to miss (Ultimate Edition of Intellij IDEA).
- Searching classes and files is faster because the name matching algorithm doesn't require the use of asterisks and it matches the given characters in every part of the name.
- Windows arrangement: Although Eclipse has a more powerful windows management framework, I find the right window faster in Intellij. When I follow the call hierarchy of a method, I have ten windows open and not tons of them as in Eclipse.
- You can mark the folders which contain source code from tests. Then the search can classify the results in Production and Testing.
SAP Hybris Projects
- The analysis of Findbugs, PMD and Checkstyle using the QA plugin runs faster than in Eclipse and I can easily configure what issues I would like to analyse
- The debugger starts faster than in Eclipse
Negative points about Intellij IDEA
SAP Hybris Projects
- The hybris runner which generates the models and triggers the build callbacks don't work. Before running the integration tests, you have to run ant all in a console to generate the update Hybris code.
Neutral Points about Intellij IDEA
- The formatting of Intellij is slightly different from Eclipse. For example, the annotation are in the same line as the declaration of the method and the comments of the fields are packed in one line. After trying to tweak Intellij, I installed the Eclipse Formatter plugin and imported the configuration from Eclipse.
- I use the shortcuts of Eclipse in Intellij. This reduced the pain of learning to use Intellij a lot.
SAP Hybris Projects
- The import of the eclipse project configuration files into Intellij IDEA works correctly. But Intellij has another classification of the folders and it is useful to tell him which are the generated and test classes.
- Unit and Integration tests work. In Intellij you have to import the whole project using the Hybris Integration plugin or to correct the dependencies of all the modules in the platform directory manually.
I use Intellij IDEA for everything because the IDE reacts faster and I don't have any refresh issues. But:
- After changes in the code, I build the project using ant clean all
- After a SAP Hybris Version update, I need to refresh the dependencies the Hybris Integration Plugin. Afterwards the integration tests work again
–Based on Hybris 6.4