Project structure settings
Project structure settings are stored together with other project files in the .idea directory in the .xml format. These settings include SDKs, project compiler output paths, and libraries that are available for all modules within a project.
To change the project structure settings, click on the toolbar and select Project Structure . Alternatively, go to or press Ctrl+Alt+Shift+S.
Project SDK
An SDK is a collection of tools that you need to develop an application for a specific software framework. If the necessary SDK is installed on your computer, but not defined in the IDE, select
, and specify the path to the SDK home directory.To develop Java-based applications, you need a JDK (Java Development Kit). For more information about setting up the project JDK, refer to Set up the project JDK.
To view or edit the name and contents of the selected SDK, click Edit. For more information about SDK and how to work with them, refer to SDKs.
Project language level
Language level defines coding assistance features that the editor provides. Language level can differ from your project SDK. For example, you can use the JDK 9 and set the language level to 8. This makes the bytecode compatible with Java 8, while inspections make sure you don't use constructs from Java 9.
Language level also affects compilation. If you don't manually configure the target bytecode version for your compiler (
), it will be the same as the project language level.For each module, you can configure its own language level.
In some cases, you can select the Preview
language level that allows you to use preview features as described in Java Language Specification. For more information about previewing features support, refer to Preview features policy.
Project compiler output
Compiler output path is the path to the directory in which IntelliJ IDEA stores the compilation results. Click the icon to select the output directory. In this directory, the IDE creates two sub-directories:
production for production code.
test for test sources.
In these subdirectories, individual output directories will be created for each of your modules. The output paths may be redefined at the module level.
Project libraries
Project-level libraries are available for all modules with a project. To configure a project library, in the Project Structure dialog, click Libraries. For more information, refer to Libraries.
Default structure for new projects
You can configure project structure settings not only for the current project, but for all projects that you will be creating later. This means that you can set the new default structure for your projects.
In the main menu, go to
.
If you want to share project settings between already existing projects, you can use the Settings Sync plugin. You can also export the settings to a ZIP archive and import it later to other IDE instances.
Preview features policy
IntelliJ IDEA is committed to supporting the preview features from the latest Java release and, if possible, the preview features of whatever release is coming next.
For example, the IntelliJ IDEA v2019.2 supports Java 12 and 13 preview features. Note that v2019.3 drops the support for Java 12 preview features as IntelliJ IDEA 2019.3 is released after the release of Java 13, and so on.