Package org.apache.maven.archetype.mojos
Class CreateProjectFromArchetypeMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="generate",
requiresProject=false)
@Execute(phase=GENERATE_SOURCES)
public class CreateProjectFromArchetypeMojo
extends org.apache.maven.plugin.AbstractMojo
implements org.apache.maven.plugin.ContextEnabled
Generates a new project from an archetype, or updates the actual project if using a partial archetype.
If the project is fully generated, it is generated in a directory corresponding to its artifactId.
If the project is updated with a partial archetype, it is done in the current directory.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
The archetype's artifactId.private String
The archetype catalogs to use to build a list and let the user choose from.private String
The archetype's groupId.private String
The archetype's version.private Boolean
If set totrue
will ask for values also for properties having defaults in the first place.private ArchetypeGenerationConfigurator
private String
Applying some filter on displayed archetypes list: format isartifactId
orgroupId:artifactId
.private String
Goals to immediately run on the project created from the archetype.private Boolean
User settings used to check the interactiveMode.private org.apache.maven.shared.invoker.Invoker
private org.apache.maven.artifact.repository.ArtifactRepository
Local Maven repository.private ArchetypeManager
private File
private List
<org.apache.maven.artifact.repository.ArtifactRepository> List of remote repositories used by the resolver.private ArchetypeSelector
private org.apache.maven.execution.MavenSession
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
execute()
private void
invokePostArchetypeGenerationGoals
(String goals, String artifactId) Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.maven.plugin.ContextEnabled
getPluginContext, setPluginContext
-
Field Details
-
manager
-
selector
-
configurator
-
invoker
@Component private org.apache.maven.shared.invoker.Invoker invoker -
archetypeArtifactId
The archetype's artifactId. -
archetypeGroupId
The archetype's groupId. -
archetypeVersion
The archetype's version. -
archetypeCatalog
@Parameter(property="archetypeCatalog", defaultValue="remote,local") private String archetypeCatalogThe archetype catalogs to use to build a list and let the user choose from. It is a comma separated list of catalogs. Catalogs use the following schemes:- '
local
' which is the shortcut to the local repository - '
remote
' which is the shortcut for Maven Central repository or its mirror - '
internal
' which is an internal catalog
settings.xml
<repository> <id>archetype</id> <url>https://repository.domain.com/path/to/repo/</url> </repository> <!-- in case of a repository with authentication --> <server> <id>archetype</id> <username>user.name</username> <password>s3cr3t</password> </server>
If Maven Central repository catalog file is empty,internal
catalog is used instead. - '
-
askForDefaultPropertyValues
@Parameter(property="askForDefaultPropertyValues", defaultValue="false", required=true) private Boolean askForDefaultPropertyValuesIf set totrue
will ask for values also for properties having defaults in the first place. Only has an effect ifinteractiveMode
is used. -
localRepository
@Parameter(defaultValue="${localRepository}", readonly=true, required=true) private org.apache.maven.artifact.repository.ArtifactRepository localRepositoryLocal Maven repository. -
remoteArtifactRepositories
@Parameter(defaultValue="${project.remoteArtifactRepositories}", readonly=true, required=true) private List<org.apache.maven.artifact.repository.ArtifactRepository> remoteArtifactRepositoriesList of remote repositories used by the resolver. -
interactiveMode
@Parameter(property="interactiveMode", defaultValue="${settings.interactiveMode}", required=true) private Boolean interactiveModeUser settings used to check the interactiveMode. -
outputDirectory
-
session
@Parameter(defaultValue="${session}", readonly=true) private org.apache.maven.execution.MavenSession session -
goals
Goals to immediately run on the project created from the archetype. -
filter
Applying some filter on displayed archetypes list: format isartifactId
orgroupId:artifactId
.org.apache:
-> displays all archetypes which contain org.apache in groupId:jee
orjee
-> displays all archetypes which contain jee in artifactIdorg.apache:jee
-> displays all archetypes which contain org.apache in groupId AND jee in artifactId
- Since:
- 2.1
-
-
Constructor Details
-
CreateProjectFromArchetypeMojo
public CreateProjectFromArchetypeMojo()
-
-
Method Details
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Specified by:
execute
in interfaceorg.apache.maven.plugin.Mojo
- Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-
invokePostArchetypeGenerationGoals
private void invokePostArchetypeGenerationGoals(String goals, String artifactId) throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-