npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

generator-jvm

v1.18.99

Published

Helps you quick and easy generate JVM-based (java, java ee, kotlin, scala) projects with gradle and maven build systems, docker and docker-compose for rapid development

Downloads

9,595

Readme

generator-jvm NPM version Build Status Dependency Status

Generate JVM (java, kotlin, scala) project with gradle / maven build systems and docker / docker-compose for rapid development

See also

I aslo have a lot of jvm starters here, and not sure that will move all of them inside this generator

Installation

First, install Yeoman and generator-jvm using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-jvm

npm audit

It's not recommended, but if you really need, you can install npm packages without audit by using:

npm install --no-audit

Usage

Then generate your new project using command line options (name and type):

yo jvm --name my-awesom-java-project --type java
yo jvm -n spring-boot-kotlin-project -t kotlin-spring-boot
cd my-awesom-java-project

Then generate your new project using prompt:

yo jvm
# enter projectDirectory or just press enter (default: app)
# chose projectType (default: java)
cd app

using gradle

idea build.gradle
bash gradlew

using maven

idea pom.xml
bash mvnw

docker-compose

# gradle
bash gradlew composeUp
# maven
bash mvnw docker-compose:up

What's inside?

java-ee (micro-profile) project

  • java 8 based project
  • javaee 7.0 / 8.0 using thorntail (aka wildfly-swarm) micro-profile
  • support fatjar
  • support executable bash jar
  • support kotlin
  • support maven build system
  • support gradle build system (only swarm projects)
  • vavr (aka javaslang), lombok
  • support testing with junit 4 / 5
  • docker / docker-compose support

type options:

  • java-thorntail
  • java-wildfly-swarm
  • kotlin-thorntail
  • kotlin-wildfly-swarm

java-payara-micro

  • java 8 based project
  • Java / JavaEE 8
  • lombok (slf4j + logback logging)
  • support fat (uber) jar
  • support maven build system
  • support gradle build system
  • support testing with junit 5
  • docker / docker-compose support

type options:

  • java-payara-micro

akka-actor project

  • java 8 based project
  • scala 2.12
  • akka-actor 2.5.14
  • lombok (slf4j + logback logging)
  • vavr (javaslang)
  • support fatjar
  • support sbt build system
  • support maven build system
  • support gradle build system
  • support application scripts when using gradle
  • support testing with junit 4 / 5
  • docker / docker-compose support

type options:

  • java-akka-actor
  • scala-gradle-akka-actor
  • scala-sbt-akka-actor

akka-persistence project

  • java 8 based project
  • scala 2.12
  • akka-actor 2.5.14 / akka-persistence
  • support fatjar
  • support gradle build system
  • docker / docker-compose support

type options:

  • scala-gradle-akka-persistence

java-ee thymeleaf project

  • Java EE 8 based web project
  • Thymeleaf
  • JAX-RX
  • support JBOSS EAP 7.1 (docker)
  • support maven build system
  • support gradle build system
  • docker / docker-compose support

type options:

  • java-ee-thymeleaf

vertx project

  • java 8 based Vert.x web project
  • support fatjar
  • support kotlin 1.3.11
  • support maven build system
  • support gradle build system
  • docker / docker-compose support

type options:

  • java-vertx
  • kotlin-vertx

spring cloud function web project

  • java 8 based spring-cloud-function-web project
  • spring-boot 2 / spring framework 5
  • support fatjar
  • support executable bash jar
  • support kotlin 1.3.11
  • support maven build system
  • support gradle build system
  • docker / docker-compose support

type options:

  • java-spring-cloud-function-web
  • kotlin-spring-cloud-function-web

spring-boot 2 / spring framework 5 project

  • java 8 based project
  • spring-boot 2 / spring framework 5
  • support fatjar
  • support executable bash jar
  • support kotlin 1.3.11
  • support maven build system
  • support gradle build system
  • vavr (javaslang)
  • lombok (slf4j + logback logging)
  • support testing with junit 4 / 5
  • docker / docker-compose support

type options:

  • java-spring-boot
  • kotlin-spring-boot
  • java-spring-boot-2.0.x
  • kotlin-spring-boot-2.0.x

spring-boot 1 / spring framework 4 project

  • java 8 based project
  • spring-boot 1 / spring framework 4
  • support fatjar
  • support executable bash jar
  • support kotlin 1.2.71
  • support maven build system
  • support gradle build system
  • vavr (javaslang)
  • lombok (slf4j + logback logging)
  • support testing with junit 4 / 5
  • docker / docker-compose support

type options:

  • java-spring-boot-1.x
  • kotlin-spring-boot-1.x

java-ee-faces project

  • javaee 8.0 project
  • JSF using mojarrra 2.2.16 faces implementation
  • lombok (slf4j + logback logging)
  • support maven build system
  • support gradle build system
  • docker / docker-compose support (Glassfish 5.0 / JBOSS EAP 7.1)

java-ee EAR multi project

  • javaee 8.0 project
  • EAR with EJB + CDI configured
  • EAR without CDI at all, but could be easily added (java-ee-cdi-multi-project)
  • EJB3 (business services module: ejb-services)
  • EJB3 (JPA repositories module: ejb-data with embedded H2database for simplicity)
  • JAX-RS REST API
  • WEB/HTML5 static content
  • Servlet and JSP with EJB usage
  • lombok (slf4j + logback logging)
  • vavr (javaslang)
  • support maven build system
  • support gradle build system
  • docker / docker-compose support (JBOSS EAP 7.1)

type options:

  • java-ee-cdi-full-multi-project
  • java-ee-ejb-full-multi-project

java-ee project

  • java 8 based project
  • javaee 8.0
  • lombok (slf4j + logback logging)
  • vavr (javaslang)
  • support kotlin 1.3.11
  • support maven build system
  • support gradle build system
  • support testing with junit 4 / 5
  • docker / docker-compose support (JBOSS EAP 7)

type options:

  • java-ee
  • kotlin-ee

parent multi project

  • java 8 based parent multi project
  • support fatjar
  • support kotlin 1.3.11
  • support executable bash jar
  • support maven build system
  • support gradle build system
  • vavr (javaslang)
  • lombok (slf4j + logback logging)
  • support testing with junit 4 / 5
  • docker / docker-compose support

type options:

  • java-parent-multi-project
  • kotlin-parent-multi-project

simple fat project

  • java 8 based project
  • lombok (slf4j + logback logging)
  • vavr (javaslang)
  • support fatjar
  • support scala 2.12 / 2.11
  • support maven build system
  • support gradle build system
  • docker / docker-compose support
  • support application scripts when using gradle
  • support application executable scripts when using gradle
  • support testing using junit 4, scalactic, scalatest, specs2

type options:

  • java
  • kotlin
  • scala
  • scala-2.11
  • scala-sbt

Also inside all projects available

  • FindBugs maven / gradle plugins functionality ./gradlew check ./mvnw verify site
  • Ascii documentation (asciidoctor maven / gradle plugins functionality) ./gradlew asciidoctor
  • Artifact deployment (local maven repositories) ./gradlew publish ./mvnw deploy

Getting To Know Yeoman

  • Yeoman has a heart of gold.
  • Yeoman is a person with feelings and opinions, but is very easy to work with.
  • Yeoman can be too opinionated at times but is easily convinced not to be.
  • Feel free to learn more about Yeoman.

License

MIT © Maksim Kostromin