Package org.apache.maven.plugin.compiler
Class CompilerMojo
java.lang.Object
org.apache.maven.plugin.compiler.AbstractCompilerMojo
org.apache.maven.plugin.compiler.CompilerMojo
- All Implemented Interfaces:
org.apache.maven.api.plugin.Mojo
@Mojo(name="compile",
defaultPhase="compile")
public class CompilerMojo
extends AbstractCompilerMojo
Compiles application sources.
By default uses the javac compiler
of the JDK used to execute Maven. This can be overwritten through Toolchains
or parameter
AbstractCompilerMojo.compilerId.- Since:
- 2.0
- Author:
- Jason van Zyl
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe source directories containing the sources to be compiled.protected StringWhen bothAbstractCompilerMojo.forkandAbstractCompilerMojo.debugare enabled the commandline arguments used will be dumped to this file.A list of exclusion filters for the compiler.protected PathSpecify where to place generated source files created by annotation processing.A list of inclusion filters for the compiler.A list of exclusion filters for the incremental calculation.protected booleanWhen set totrue, the classes will be placed inMETA-INF/versions/${release}The release value must be set, otherwise the plugin will fail.protected PathThe directory for compiled classes.protected org.apache.maven.api.ArtifactProjects main artifact.protected booleanSet this totrueto bypass compilation of main sources.Fields inherited from class org.apache.maven.plugin.compiler.AbstractCompilerMojo
annotationProcessorPaths, annotationProcessorPathsUseDepMgmt, annotationProcessors, artifactManager, basedir, buildDirectory, compilerArgs, compilerArgument, compilerId, compilerManager, compilerReuseStrategy, compilerVersion, createMissingPackageInfoClass, debug, enablePreview, encoding, executable, failOnError, failOnWarning, fileExtensions, forceLegacyJavacApi, fork, implicit, jdkToolchain, logger, maxmem, meminitial, messageBuilderFactory, mojoStatusPath, optimize, outputTimestamp, parameters, proc, project, projectManager, PS, release, session, showCompilationChanges, showDeprecation, showWarnings, skipMultiThreadWarning, source, staleMillis, target, toolchainManager, useIncrementalCompilation, verbose -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()protected Stringprotected Stringprotected Pathprotected Pathprotected Stringprotected Stringprotected org.codehaus.plexus.compiler.util.scan.SourceInclusionScannergetSourceInclusionScanner(int staleMillis) protected org.codehaus.plexus.compiler.util.scan.SourceInclusionScannergetSourceInclusionScanner(String inputFileEnding) protected Stringprotected voidpreparePaths(Set<Path> sourceFiles) Methods inherited from class org.apache.maven.plugin.compiler.AbstractCompilerMojo
getBuildStartTime, getLog, getModuleDeclaration, getProject, getRequestThreadCount, getToolchain, isDependencyChanged, isTestCompile, setRelease, setTarget
-
Field Details
-
compileSourceRoots
The source directories containing the sources to be compiled. -
projectArtifact
@Parameter(defaultValue="${project.mainArtifact}", readonly=true, required=true) protected org.apache.maven.api.Artifact projectArtifactProjects main artifact. -
outputDirectory
@Parameter(defaultValue="${project.build.outputDirectory}", required=true, readonly=true) protected Path outputDirectoryThe directory for compiled classes. -
includes
A list of inclusion filters for the compiler. -
excludes
A list of exclusion filters for the compiler. -
incrementalExcludes
A list of exclusion filters for the incremental calculation.- Since:
- 3.11
-
generatedSourcesDirectory
@Parameter(defaultValue="${project.build.directory}/generated-sources/annotations") protected Path generatedSourcesDirectorySpecify where to place generated source files created by annotation processing. Only applies to JDK 1.6+
- Since:
- 2.2
-
skipMain
@Parameter(property="maven.main.skip") protected boolean skipMainSet this totrueto bypass compilation of main sources. Its use is NOT RECOMMENDED, but quite convenient on occasion. -
compilePath
-
multiReleaseOutput
@Parameter protected boolean multiReleaseOutputWhen set to
Note: A jar is only a multirelease jar iftrue, the classes will be placed inMETA-INF/versions/${release}The release value must be set, otherwise the plugin will fail.META-INF/MANIFEST.MFcontainsMulti-Release: true. You need to set this by configuring the maven-jar-plugin. This implies that you cannot test a multirelease jar using the outputDirectory.- Since:
- 3.7.1
-
debugFileName
When bothAbstractCompilerMojo.forkandAbstractCompilerMojo.debugare enabled the commandline arguments used will be dumped to this file.- Since:
- 3.10.0
-
-
Constructor Details
-
CompilerMojo
public CompilerMojo()
-
-
Method Details
-
getCompileSourceRoots
- Specified by:
getCompileSourceRootsin classAbstractCompilerMojo
-
getClasspathElements
- Specified by:
getClasspathElementsin classAbstractCompilerMojo
-
getModulepathElements
- Specified by:
getModulepathElementsin classAbstractCompilerMojo
-
getPathElements
protected Map<String,org.codehaus.plexus.languages.java.jpms.JavaModuleDescriptor> getPathElements()- Specified by:
getPathElementsin classAbstractCompilerMojo
-
getOutputDirectory
- Specified by:
getOutputDirectoryin classAbstractCompilerMojo
-
execute
public void execute() throws org.apache.maven.api.plugin.MojoException- Specified by:
executein interfaceorg.apache.maven.api.plugin.Mojo- Overrides:
executein classAbstractCompilerMojo- Throws:
org.apache.maven.api.plugin.MojoException
-
getIncludes
- Specified by:
getIncludesin classAbstractCompilerMojo
-
getExcludes
- Specified by:
getExcludesin classAbstractCompilerMojo
-
preparePaths
- Specified by:
preparePathsin classAbstractCompilerMojo
-
getSourceInclusionScanner
protected org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner getSourceInclusionScanner(int staleMillis) - Specified by:
getSourceInclusionScannerin classAbstractCompilerMojo
-
getSourceInclusionScanner
protected org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner getSourceInclusionScanner(String inputFileEnding) - Specified by:
getSourceInclusionScannerin classAbstractCompilerMojo
-
getSource
- Specified by:
getSourcein classAbstractCompilerMojo
-
getTarget
- Specified by:
getTargetin classAbstractCompilerMojo
-
getRelease
- Specified by:
getReleasein classAbstractCompilerMojo
-
getCompilerArgument
- Specified by:
getCompilerArgumentin classAbstractCompilerMojo
-
getGeneratedSourcesDirectory
- Specified by:
getGeneratedSourcesDirectoryin classAbstractCompilerMojo
-
getDebugFileName
- Specified by:
getDebugFileNamein classAbstractCompilerMojo
-