4 ms·
Please elaborate, I havent used Netbeans for a while but it really sucked compared even to eclipse. Also never had any problems with maven integration on Intell
by LoneWolf 11y ago
Please elaborate, I havent used Netbeans for a while but it really sucked compared even to eclipse. Also never had any problems with maven integration on IntelliJ.
- steve_taylor 11y agoMaven is a first-class project format in NetBeans, whereas IntelliJ still needs to create its own project structure and metadata. So it seems less than ideal from that perspective. But having had to use IntelliJ for a while, I'm now comfortable with its way of handling Maven. I understand why it is the way it is: IntelliJ is a multi-stack IDE, whereas Maven is a Java-specific project format. IntelliJ has a project format that works across all their IDEs (except AppCode) and IntelliJ is just an all-in-one IDE, not just a Java IDE.
- amyjess 11y agoIntelliJ likes to maintain two build systems. It has its own project files that keep track of dependencies and how to build things. Changes made to the POM have to be imported into IntelliJ's project format, if you build or run something in IntelliJ, it's not necessarily the same build Maven would perform, because IntelliJ is invoking java and javac itself without going through mvn. NetBeans, on the other hand, uses the POM itself as its project file for everything it can. All dependency information exists only in the POM, and NetBeans reads it directly. What little bit NetBeans needs that doesn't go in the POM goes in nbactions.xml (e.g. main class, path to JVM), which is very small and minimal, and there's no duplication of data between the two. The NetBeans project file is just the tuple of (pom.xml, nbactions.xml). I've encountered many instances where IntelliJ and Maven get their dependency trees desynced, and while sometimes it can be solved by re-importing the POM, other times it can't, and resolving it becomes this huge hairy nightmare. Better yet, whenever you initiate a build or run anything in NetBeans using a Maven project, it simply invokes mvn through a shell. You can see in the output tab the exact Maven command line NetBeans ran, so you can duplicate it or send it as instructions to collaborators who don't necessarily use NetBeans. I have to use IntelliJ at my current job, and I find myself just using it as an editor and building by manually invoking Maven on the command line myself (and the company has our own system of scripts for running our Java projects).