Class GenerateJsonSchemaMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

    @Mojo(name="generate-json-schema",
          defaultPhase=PROCESS_CLASSES,
          requiresProject=true,
          threadSafe=true)
    public class GenerateJsonSchemaMojo
    extends org.apache.maven.plugin.AbstractMojo
    Generates JSON schema files for Java POJOs using Jackson 'jackson-module-jsonSchema'. The generated files are attached as resources and included in the JAR file.
    • Field Detail

      • project

        @Parameter(property="project",
                   required=true,
                   readonly=true)
        protected org.apache.maven.project.MavenProject project
    • Constructor Detail

      • GenerateJsonSchemaMojo

        public GenerateJsonSchemaMojo()
    • Method Detail

      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException,
                            org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.plugin.MojoFailureException
      • getGeneratedResourcesDirectoryPath

        protected String getGeneratedResourcesDirectoryPath()
        Returns:
        Path name of directory for generated resources
      • getCompileClasspathElementURLs

        protected URL[] getCompileClasspathElementURLs()
                                                throws org.apache.maven.artifact.DependencyResolutionRequiredException
        Get a List of URLs of all "compile" dependencies of this project.
        Returns:
        Class path URLs
        Throws:
        org.apache.maven.artifact.DependencyResolutionRequiredException
      • addResource

        protected void addResource​(String sourceDirectory,
                                   String targetPath)
        Attach directory with generated resoruces to project to include it in JAR file.
        Parameters:
        sourceDirectory - Source directory
        targetPath - Target path in JAR file
      • getGeneratedResourcesDirectory

        protected File getGeneratedResourcesDirectory()
        Get folder to temporarily generate the resources to.
        Returns:
        Folder