All Projects → daggerok → generator-jvm

daggerok / generator-jvm

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

Programming Languages

java
68154 projects - #9 most used programming language
Dockerfile
14818 projects
shell
77523 projects
scala
5932 projects
kotlin
9241 projects
HTML
75241 projects

Projects that are alternatives of or similar to generator-jvm

atomic-store
Atomic event store for Scala/Akka
Stars: ✭ 17 (-57.5%)
Mutual labels:  akka, akka-persistence
cdi
MyBatis CDI Extension
Stars: ✭ 22 (-45%)
Mutual labels:  java-ee, cdi
akka-persistence-spanner
Spanner plugin for Akka Persistence
Stars: ✭ 12 (-70%)
Mutual labels:  akka, akka-persistence
akka-persistence-s3
akka-persistence journal/snapshot plugin for AWS S3(support aws sdk for java v2)
Stars: ✭ 19 (-52.5%)
Mutual labels:  akka, akka-persistence
akka-cookbook
提供清晰、实用的Akka应用指导
Stars: ✭ 30 (-25%)
Mutual labels:  akka, akka-persistence
ecommerce
A project for exploring Akka with Scala
Stars: ✭ 24 (-40%)
Mutual labels:  akka, akka-persistence
simplexspatial
The Reactive Geospatial Server
Stars: ✭ 17 (-57.5%)
Mutual labels:  akka, akka-persistence
migrate-Java-EE-app-to-azure
Migrate an existing Java EE workload to Azure
Stars: ✭ 12 (-70%)
Mutual labels:  cdi, ejb3
akka-persistance-ignite
Akka persistance plugin implementation with Apache Ignite
Stars: ✭ 20 (-50%)
Mutual labels:  akka, akka-persistence
akka-persistence-foundationdb
A replicated Akka Persistence journal backed by FoundationDB
Stars: ✭ 43 (+7.5%)
Mutual labels:  akka, akka-persistence
akka-persistence-dynamodb
DynamoDBJournal for Akka Persistence
Stars: ✭ 85 (+112.5%)
Mutual labels:  akka, akka-persistence
akka-persistence-gcp-datastore
akka-persistence-gcp-datastore is a journal and snapshot store plugin for akka-persistence using google cloud firestore in datastore mode.
Stars: ✭ 18 (-55%)
Mutual labels:  akka, akka-persistence
microprofile1.2-samples
Eclipse MicroProfile 1.2 Samples
Stars: ✭ 22 (-45%)
Mutual labels:  microprofile, wildfly-swarm
Akka
Examples and explanations of how Akka toolkit works
Stars: ✭ 20 (-50%)
Mutual labels:  akka, akka-persistence
etebase-java
A Java/Android client library for Etebase
Stars: ✭ 46 (+15%)
Mutual labels:  jvm
Java-CS-Record
记录准备春招实习过程中,学习与复习的知识(模块化整理,非面试题速成)。注:暂停更新,后续请移步博客
Stars: ✭ 73 (+82.5%)
Mutual labels:  jvm
akka-http-circe-json-template
Akka HTTP REST API Project Template using Akka HTTP 10.0.4 with Circe 0.7.0 targeting Scala 2.12.x
Stars: ✭ 21 (-47.5%)
Mutual labels:  akka
play-scala-seed.g8
Play Scala Seed Template: run "sbt new playframework/play-scala-seed.g8"
Stars: ✭ 66 (+65%)
Mutual labels:  jvm
cassandra.realtime
Different ways to process data into Cassandra in realtime with technologies such as Kafka, Spark, Akka, Flink
Stars: ✭ 25 (-37.5%)
Mutual labels:  akka
play-java-rest-api-example
REST API using Play in Java
Stars: ✭ 44 (+10%)
Mutual labels:  jvm

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].