Parent Apps

  • J-App parent project that includes all the needed configuration of maven projects such as JDK17+, exclusions, dependencies, version files, and others.

  • J-App Web in addition to the features of J-App, it contains the needed dependencies of webapp development.

  • J-App WebStack in addition to the features of J-App-WebApp, it consists of the needed dependencies for accessing databases and microservices.

  • J-App Service in addition to the features of J-App, it includes the required configurations and dependencies for developing microservices-based components.

  • J-App ServiceClient in addition to the features of J-App, it includes the required dependencies to develop microservices client applications.

  • J-App Data in addition to the features of J-App, it includes the required configurations and dependencies of developing database-based components.

Key Benefits

  • The compiler plugin is set to use JDK 17+.

  • War plugin set to run without complaining about web.xml.

  • All the dependencies are aligned to work together smoothly without conflicts.

  • Ability to load Maven properties from maven.properties file.

  • Proper exclusions of dependencies such as Tomcat Embedded libraries and other runtime libraries, to save developers and deployers time thinking about run-time dependencies issues.

  • Enable snapshots by default, which could be useful for the internal development of components such as libraries and microservices (you can disable them if of course needed).

Usage

All you need to do is to create a new Maven Project, then replace your pom.xml with one of the following parent configurations to make you start faster.

J-App

Parent project that includes all the needed configuration of Maven projects such as: - JDK17+, - Exclusions - Dependencies - Changing the final artifact name to App - Version files processing and others.

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.jalalkiswani</groupId>
		<artifactId>j-app</artifactId>
		<version>7.0.0-SNAPSHOT</version>
	</parent>
	<artifactId>j-framework-example</artifactId>
</project>

J-App-Web

In addition to the features of j-app, it contains the needed dependencies of webapp development.

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.jalalkiswani</groupId>
		<artifactId>j-app-web</artifactId>
		<version>7.0.0-SNAPSHOT</version>
	</parent>
	<artifactId>j-framework-example</artifactId>
	<packaging>war</packaging>
</project>

J-App-WebStack

In addition to the features of j-app-webapp, it consists of the needed dependencies for accessing databases and microservices.

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.jalalkiswani</groupId>
		<artifactId>j-app-webstack</artifactId>
		<version>7.0.0-SNAPSHOT</version>
	</parent>
	<artifactId>j-framework-example</artifactId>
	<packaging>war</packaging>
</project>

J-App-Service

In addition to the features of j-app, it includes the required configurations and dependencies for developing microservices-based components.

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.jalalkiswani</groupId>
		<artifactId>j-app-service</artifactId>
		<version>7.0.0-SNAPSHOT</version>
	</parent>
	<artifactId>j-framework-example</artifactId>
	<packaging>war</packaging>
</project>

J-App-Client

In addition to the features of j-app, it includes the required dependencies to develop microservices client applications.

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.jalalkiswani</groupId>
		<artifactId>j-app-client</artifactId>
		<version>7.0.0-SNAPSHOT</version>
	</parent>
	<artifactId>j-framework-example</artifactId>
</project>

J-App-Data

In addition to the features of j-app, it includes the required configurations and dependencies for developing database-based components.

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.jalalkiswani</groupId>
		<artifactId>j-app-data</artifactId>
		<version>7.0.0-SNAPSHOT</version>
	</parent>
	<artifactId>j-framework-example</artifactId>
</project>