jZenith Root Pom

jZenith Application Framework

License

License

GroupId

GroupId

org.jzenith
ArtifactId

ArtifactId

root-pom
Last Version

Last Version

0.1
Release Date

Release Date

Type

Type

pom
Description

Description

jZenith Root Pom
jZenith Application Framework
Source Code Management

Source Code Management

https://github.com/marcust/jzenith

Download root-pom

Filename Size
root-pom-0.1.pom 17 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/org.jzenith/root-pom/ -->
<dependency>
    <groupId>org.jzenith</groupId>
    <artifactId>root-pom</artifactId>
    <version>0.1</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/org.jzenith/root-pom/
implementation 'org.jzenith:root-pom:0.1'
// https://jarcasting.com/artifacts/org.jzenith/root-pom/
implementation ("org.jzenith:root-pom:0.1")
'org.jzenith:root-pom:pom:0.1'
<dependency org="org.jzenith" name="root-pom" rev="0.1">
  <artifact name="root-pom" type="pom" />
</dependency>
@Grapes(
@Grab(group='org.jzenith', module='root-pom', version='0.1')
)
libraryDependencies += "org.jzenith" % "root-pom" % "0.1"
[org.jzenith/root-pom "0.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • jzenith-core
  • jzenith-rest
  • jzenith-postgresql
  • jzenith-jdbc
  • jzenith-redis
  • jzenith-mongodb
  • jzenith-kafka
  • jzenith-graalvm-extras
  • jzenith-example

Codacy Badge Maven Central Javadocs Build Status Quality Gate Coverage Status codecov Known Vulnerabilities Gitter chat security status stability status DepShield Badge Total alerts Language grade: JavaScript

Disclaimer: This is basically me tinkering with tech and keeping myself busy while I'm looking for a new challenge to take on. I don't know if it will ever be released, I don't know if it will ever reach 1.0. Due to this fact the best documentation is currently jzenith-example, though I try to keep this up to date as well. If you want to know what I'm up to check out the Project Plan

Overview

jZenith aims to provide out of the box Java based server applications. It tries to keep up to date with the fast changing Java world by having a minimal dependency footprint.

jZenith consists of a core that can be extended by using different plugins, currently there is a PostgreSQL and a REST plugin. All bindings are configured in code in order to allow for a application that is fully initialized at startup time, hopefully allowing GraalVM support in the future.

jZenith is basically some glue code between existing Java libraries. It uses Guice for dependency injection and Vert.x as it's core technologies.

Try running the Example App and read about the different Plugins.

Getting started

Snapshots are published to the Sonatype OSS repository, see Using Snapshots Version at the end.

<dependency>
  <groupId>org.jzenith</groupId>
  <artifactId>jzenith-core</artifactId>
  <version>0.1</version>
</dependency>

Clone the repository, run mvn clean install. jZenith currently expects Java 10 and a fairly current maven.

A typical jZenith main class will look like:

JZenith.application(args)
       .withPlugins(
           RestPlugin.withResources(UserResource.class),
           PostgresqlPlugin.create()
       )
       .withModules(new ServiceLayerModule(), new PersistenceLayerModule(), new MapperModule())
       .withConfiguration("postgresql.database", "test")
       .run();

Modules are simply Guice Modules, as jZenith uses Guice for dependency injection.

Read more about Plugins and Configuration.

Using Snapshot Versions

Add the following repository configurations to your pom.xml to enable snapshot versions of this plugin to be used.

  <repositories>
    <repository>
      <id>sonatype-nexus-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>sonatype-nexus-snapshot</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
       </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

Versions

Version
0.1