Introduction to several key concepts related to the IntelliJ idea project

Source: Internet
Author: User
Tags netbeans

Essential Material Introduction

IntelliJ idea has special benefits for other IDE users who have turned around, and it has been a great help to have the other IDE's users take time to view it.
Eclipse users can see: https://www.jetbrains.com/idea/help/eclipse.html
NetBeans users can see: https://www.jetbrains.com/idea/help/netbeans.html

These two concepts are one of the must-know points of IntelliJ idea, so be sure to learn.

If you are an eclipse user and have seen the link above, IntelliJ idea first tells you a very important thing: IntelliJ ideas has no concept similar to the Eclipse workspace (workspace). A lot of people who have turned from Eclipse always subconsciously want to manage n projects in the same window again, which is not available in IntelliJ idea. IntelliJ Idea offers the experience of a Project that opens a Windows window.

For Project,intellij idea, this explains:

Whatever you does in IntelliJ idea, you do this in the context of a project. A project is an organizational unit, represents a complete software solution. It serves as a basis for coding assistance, bulk refactoring, coding style consistency, etc.

Your finished product may be decomposed to a series of discrete, isolated modules, but it's a project definition that BR Ings them together and ties them into a greater whole.

Projects don ' t themselves contain development artifacts such as source code, build scripts, or documentation. They is the highest level of organization in the IDE, and they define project-wide settings as well as collections of WHA T IntelliJ idea refers to as modules and libraries.

Link Address: https://www.jetbrains.com/idea/help/project.html

For Module,intellij idea, this explains:

A module is a discrete unit of functionality which you can compile, run, test and debug independently.

Modules contain everything that's required for their specific tasks:source code, build scripts, unit tests, deployment D Escriptors, and documentation. However, modules exist and is functional only in the context of a project.

Configuration information for a module was stored in a. IML module file. By default, such a file was located in the module ' s content root folder.

Development teams, normally, share the. IML module files through version control.

Link Address: https://www.jetbrains.com/idea/help/module.html

We know from the above that Project is the top level in IntelliJ idea and the sub-level is Module. A Project can have multiple Module. The current mainstream large-scale project structure is similar to this multi-module structure, such projects are generally divided, such as: Core module, Web module, plugin module, SOLR module, and so on, the modules can be interdependent with each other. The naming of these modules also shows that they should be in the same project business situation of the module, each other is an inseparable business relationship.

So we summarize now: One Project is made up of one or more Module components, and the modules are dependent on each other as much as possible in the case of the same project business. Here is 尽量 , because IntelliJ idea Project is a lack of any coding settings, build and other development functions, the main play a project definition, scope constraints, specifications and other types of effects, perhaps we can simply understand as a simple directory, Only this directory naming must have its representative meaning.

Let's take a well-known spring-framework project as an example to introduce the structure of multi-Module:

Project home: https://github.com/spring-projects/spring-framework:

The name of the project Project is: Spring-framework. The main role of the directory for each Module of the top-level directory constraints, tell the co-users, this directory is spring-framework related, I will never put Android related source code, documents, files on the above. This directory is not reflected in a real directory, so you can not access the homepage is not visible, but when you checkout , you have to name the project, as for the name of the default is spring-framework .

There are about 20 of them, and the Project Module names of each Module have meanings, such as:,,,,, and spring-core spring-jdbc spring-jms spring-orm spring-web spring-webmvc so on, and we can clearly know what they mean by these names, which The Module also has its own src coded directory, which can be coded and built by itself.

Compared to multi-Module projects, small projects don't have to be so complicated. There is only one module structure IntelliJ idea is supported, and when IntelliJ idea creates a project, the default is the single-module structure.

As shown in the Gif diagram, at the Project name time of input, Module name and Module file Location automatically change, Project location and Module file Location exactly the same, this means that the project directory and the Module directory is the same, so at this point in the project directory there will be directory, but we should understand its nature or the directory of Module.

Project and Module on IntelliJ idea have finally been explained, but there is another piece of the IntelliJ idea online that explains it well enough, especially for Eclipse users: https://www.jetbrains.co M/idea/help/eclipse-faq.html, which had such two words:

An Eclipse workspace are similar to a project in IntelliJ idea

An Eclipse project maps to a module in IntelliJ idea

You can use IntelliJ idea as Project a workspace IntelliJ, but as much as we explained earlier, this is very inconsistent with its original purpose, so please don't learn this as a doctrine. This is also explained by Daniel Zeroturnaround: http://zeroturnaround.com/rebellabs/ getting-started-with-intellij-idea-as-an-eclipse-user/3/

Introduction to several key concepts related to the IntelliJ idea project

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.