Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If you are familiar with Java and Maven you may want to use Maven to create and build your Magnolia module. Using Maven eases the process of creating a JAR file, deployment, and dependency management of your modules. All modules provided by Magnolia are built with Maven. This makes it easy to install or uninstall them by adding or removing a JAR file. 

Creating a Magnolia Mavenmodule Maven module with Maven archetypes

Magnolia provides a Maven archetype to build the skeleton of a Magnolia Maven module. The archetype provides options to build different modules:  

...

  1. Create a directory on your local file system where the project will be stored and change into this directory.
  2. Execute the following maven command:

    Include Page
    INCL:_mvn archetype command
    INCL:_mvn archetype command

  3. Choose an archetype when prompted. Here we choose the option magnolia-module-archetype which is a simple Magnolia project wrapped into Maven structure. Maven will then ask us for the standard  

  4. Next, the script asks to choose the archetype version - we recommend to choose always the latest version.

  5. : 5:

    Now you must prompt typical Maven properties such as which version of Magnolia we will be using.

    Code Block
    languagetext
    Choose archetype: 1: https://nexus.magnolia-cms.com/content/groups/public/ -> info.magnolia.maven.archetypes:magnolia-theme-archetype (An archetype to create STK Theme modules) 2: https://nexus.magnolia-cms.com/content/groups/public/ -> info.magnolia.maven.archetypes:magnolia-project-archetype (An archetype to create a Magnolia project (a parent pom and a webapp)) 3: https://nexus.magnolia-cms.com/content/groups/public/ -> info.magnolia.maven.archetypes:magnolia-module-archetype (An archetype to create basic Magnolia modules) 4: https://nexus.magnolia-cms.com/content/groups/public/ -> info.magnolia.maven.archetypes:magnolia-forge-module-archetype (An archetype to create a Magnolia module to be hosted on the Magnolia Forge) 5: https://nexus.magnolia-cms.com/content/groups/public/ -> info.magnolia.maven.archetypes:magnolia-blossom-module-archetype (An archetype to create Magnolia modules using Blossom) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 3 Choose info.magnolia.maven.archetypes:magnolia-module-archetype version: 1: 1.1.0 2: 1.2.0 3: 1.2.1 4: 1.2.2 5: 1.2.3-SNAPSHOT Choose a number

    groupId, artifactId, package name and version plus the Magnolia specific parameters magnolia-bundle-version, module-class-name and module-name.
    When you have prompted all the parameters - the archetype summarizes your inputs and you must confirm or can skip.

    Code Block
    languagetext
    Define value for property 'groupId': : com.example
    Define value for property 'artifactId': : myModule
    Define value for property 'version':  1.0-SNAPSHOT: :
    Define value for property 'package':  com.example: :
    Define value for property 'magnolia-bundle-version': : 5.6.46
    Define value for property 'module-class-name': : MyModule
    Define value for property 'module-name':  myModule: :
    Confirm properties configuration:
    groupId: com.example
    artifactId: myModule
    version: 1.0-SNAPSHOT
    package: com.example
    magnolia-bundle-version: 5.6.46
    module-class-name: MyModule
    module-name: myModule
     Y: : Y

    If you confirm, Maven generates the archetype skeleton.