IntelliJ IDEA 2017.2 Help

Compiler

File | Settings | Build, Execution, Deployment | Compiler for Windows and Linux
IntelliJ IDEA | Preferences | Build, Execution, Deployment | Compiler for macOS


Use this node to configure common options specified in the table below, as well as the specific options for compilers used in IntelliJ IDEA.

ItemDescription
Resource PatternsIn this field, specify the regular expression that describes the files that should be recognized as resources and, consequently, copied to the output directory. Use semicolons (;) to separate individual patterns.

Wildcards and negations are welcome. The following symbols are accepted:

  • * represents an unlimited number of any symbols, possibly none.
  • ? represents exactly one symbol.
  • . represents a delimiter.
  • ! negates the entire mask it is applied to. Consequently, any file with the name and extension that do not match the pattern will be recognized as a resource file.
  • / represents a path separator.
  • /**/ denotes any number of directories.
  • <dir>:<pattern> denotes any directory located under the source root <dir>; <pattern> is any pattern that meets the above-mentioned requirements.

The examples below illustrate the use of wildcards in the resource patterns:

  • *.xml - any XML file.
  • !*.xml - any file whose extension is not .xml.
  • z*.properties;z*.gif;z*.png;z*.jpeg;z*.xml - any .properties, .gif, .png, .jpeg, or .xml file with the name beginning with z.
  • MyResources:* - all files and folders within the directory MyResources.

If you want to skip compilation of certain Groovy files in the modules with the Groovy support, include them in the list of the resource patterns.

Clear output directory on rebuildCheck this option to delete all files in the output directories. Do not check this option, if the output directory contains files IntelliJ IDEA is not aware of, like resources, etc. If there is any intersection of source and output paths, you will be prompted to resolve the issue by separating source and output directories, or ignore the issue.
Add runtime assertions for not-null annotated methods and parametersIf this option is checked, the assertions are added at runtime to all the methods and parameters, annotated with @NotNull annotations. The lists of annotations is configurable (click the button Configure annotations... to the right).
Automatically show first error in editorIf this check box is selected, the file that contains the very first compilation error will be opened in the editor, with the highlighted line that contains the error.
Display notification on build completionIf this check box is selected, the notification balloon is shows, if the build process lasts longer than 1 minute. If ths build process lasts less than a minute, or if the check box is not selected, the message is shown in the Event log and in the Status bar.
Make project automaticallySelect this check box to automatically make (compile) the project each time project files change on your disk, for example, on save or autosave, or when you get the latest project revision from your version control system.
Compile independent modules in parallelIf this check box is selected, the modules without mutual dependencies are compiled simultaneously. This might require increased heap size.
Rebuild modules on dependency changeSelect this check box to have the modules with the changed dependencies fully rebuilt.
Build process heap size (Mbytes) In the text field, specify the heap size required for the build process.
  • If you are using a 64-bit JDK for compilation, the build process may require more memory.
  • The value is stored with the project settings. If you need to override this value, then in the field User-local build process VM options write Xmx<N>m, where <N> is the heap size value in megabytes.

    As soon as this value is recognized in the field User-local build process VM options, the field Build process heap size becomes read-only and is ignored.

Shared build process VM optionsThese VM options will be added to the command line on launching the build process. The shared VM options are stored in the project settings and may be put under version control.
User-local build process VM options (overrides Shared options)These VM options will be added to the command line on launching the build process. The user-local VM options are stored in workspace.xml file and as such are visible to the author of these changes only. The user-local VM options has the priority over the shared VM options. It means that if anything is written in the field User-local build process VM options, then the field Shared build process VM options is ignored, and the values in the User-local build process VM options field are used instead.
Last modified: 29 November 2017

See Also