Artifact
An artifact in IntelliJ IDEA may mean two different but related things.
First of all, an artifact is a specification of the output that you want to be generated for your project. In this sense, the artifact is short for artifact configuration or artifact specification.
In the second sense, an artifact is the actual output generated according to the corresponding specification.
An artifact may be as simple as the compilation output for one or more of your modules packaged in a Java archive (JAR). An artifact may be a Web application archive (WAR) or an enterprise archive (EAR), packaged or exploded. In that case, the artifact will normally include Web or Java EE Application facet resources such as deployment descriptors. Other artifact formats are also available.
In many of the cases, the generated artifacts are deployment-ready. That is, most of the artifact formats offered by IntelliJ IDEA are suitable for deployment in corresponding target software environments (runtimes, platforms, application servers, etc.)
You can define and then generate as many artifacts as you want.
To conclude, the artifacts let you combine your compiled source code, associated libraries, metadata and resources (text, images and so on) in deployable units. They may include compilation results for more than one module as well as facet resources such as deployment descriptors and other configuration files. In addition, artifacts can include other artifacts.