Skip to main content

Getting Started

This article outlines the steps to scaffold a new webforJ app using the webforJ archetypes. This archetypes provide a pre-configured project structure and starter code to quickly get a project up and running.

Prerequisites

Before you begin, make sure you have reviewed the necessary prerequisites for setting up and using webforJ. This will ensure that you have all the required tools and configurations in place before starting your project.

Using startforJ

The simplest way to set up a new webforJ app is by utilizing startforJ. It generates a minimal starter project based on various available archetypes that includes all required dependencies, configuration files, and a pre-wired layout - ready to build on.

Using startforJ:

  • Generates a project with all necessary configuration
  • Prompts you for basic project metadata (e.g., groupId, artifactId, project name)
  • Allows you to choose your desired webforJ and Java version
  • Lets you select a theme color, icon, and archetype
  • Produces a downloadable ZIP, or publishes the project directly to GitHub

Visit: https://docs.webforj.com/startforj

Once downloaded, unzip the project and open the folder in your IDE.

Available Archetypes

webforJ comes with several predefined archetypes that help you quickly start your webforJ development. To see a complete list of available archetypes, please refer to the archetypes catalog.

Using the command line

For those who prefer using the coomand line, you can also generate a project directly using the Maven archetype:

To create and scaffold a new hello-world project, follow these steps:

  1. Navigate to the proper directory: Open a terminal and move to the folder where you want to create your new project.
  2. Run the archetype:generate command: Use the Maven command below, and customize the groupId, artifactId, and version as needed for your project.
mvn -B archetype:generate \
-DarchetypeGroupId=com.webforj \
-DarchetypeArtifactId=webforj-archetype-hello-world \
-DarchetypeVersion=LATEST \
-DgroupId=org.example \
-DartifactId=my-app \
-Dversion=1.0-SNAPSHOT \
-DappName=MyApp
ArgumentExplanation
archetypeGroupIdThe group ID of the archetype is com.webforj for webforJ archetypes.
archetypeArtifactIdSpecifies the name of the archetype to use.
archetypeVersionSpecifies the version of the archetype to use. This ensures that the generated project is compatible with a specific archetype version. Using LATEST selects the most recent version available.
groupIdRepresents the namespace for the generated project. Typically structured like a Java package, such as org.example and is used to uniquely identify your organization or project domain.
artifactIdSpecifies the name of the generated project. This will be the name of the resulting artifact and the project folder.
versionDefines the version of the generated project. A common convention is MAJOR.MINOR-SNAPSHOT, like 1.0-SNAPSHOT, where SNAPSHOT denotes that the project is still in development.
appNameAn optional parameter that can be used in the generated project's POM file. Depending on the used webforJ archetype, it can be utilized as a default title for the application.

After running the command, Maven will generate the project files necessary to run the project.

Run the app

Navigate into the newly created directory, and run the following command from the project’s root directory:

mvn jetty:run

This command uses the Jetty maven plugin to start a Jetty server. Once the server is running, open your browser and go to http://localhost:8080 to view the app.

Licensing and watermark

For information on the licensing and the watermark present in unlicensed projects, see this article.