![]() Maven generally just outputs an artefact (sources and binary jars, and a pom.xml), whereas IntelliJ needs additional semantic and indexes to provide all its IDE intelligence.Why would IntelliJ use its own, separate build system, when you've provided an authoritative definition for how you'd like to build your project? I can imagine various reasons: IntelliJ Make will not run a mvn compile or similar (unless you configure it to explicitly, as per Jindal's answer. And it will output a jar, not a Maven artefact. Once the libraries are known: IntelliJ will invoke Javac or the Eclipse Compiler (whichever you've configured as your Java compiler) with all those libraries on the classpath. When you click "Make" on an IntelliJ Java Module: IntelliJ will check which libraries your Module asks for, and also resolve the dependencies of your Module to work out which libraries its dependent Modules ask for. That is to say: the IntelliJ Module can be based on a Maven pom.xml or Gradle's adle. ![]() This can be done purely with IntelliJ semantic, or IntelliJ can allow some other build system to declare the dependencies and libraries. These are both IntelliJ concepts.Īn IntelliJ Module has a responsibility to understand what are its dependencies and libraries. ![]() In IntellIJ, you have a Project, with many Modules. IntelliJ's build system refers to the Maven ecosystem for some hints, but at the end of the day it is a separate build system. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |