mvn archetype:generate -DarchetypeGroupId=org.faktorips -DarchetypeArtifactId=productdesigner-maven-archetype -DarchetypeVersion=<version>
English Documentation
Faktor-IPS Product Designer Archetype
Motivation
To use your own product project with the Faktor-IPS Product Designer, the Spring-Boot application must be run locally. This Maven archetype helps in setting up all the important configurations.
Prerequisites
-
Java 21
Instructions
Generating the Faktor-IPS Project
Running from the command line:
Required parameters will be prompted afterwards.
From within Eclipse:
Since the Faktor-IPS Product Designer is built with Java 21, Eclipse version 2023-12 or later must be used.
To create a Faktor-IPS Product Designer project, click on File
→ New
→ Project…
→ Maven Project
. In the first wizard dialog, make sure not to check Create a simple project
.
On the next page of the wizard, you can filter by "org.faktorips.productdesigner" and select the desired archetype version and thus the desired Faktor-IPS Product Designer version:

On the next page, you can then enter the basic parameters for the new project:

If the checkbox run archetype generation interactively
is not checked, you do not need to confirm with the keyboard in the Eclipse console, and the project will be created immediately.
Parameters Used
… for Generating the Project
-
groupId: the Group ID of the Maven project
-
artifactId: the Artifact ID of the Maven project
-
version: the version of the Maven project
-
package: the base package structure, e.g., org.faktorips.example
-
PD-ApplicationName: the name of the application and the Spring-Boot class without the postfix Application, e.g., Hausrat becomes HausratApplication.java
-
IPS-ProductProjectPath: the path to the product project that should be edited or displayed
-
IPS-ModelDependencyGroupId: the Group ID for the model project dependency
-
IPS-ModelDependencyArtifactId: the Artifact ID for the model project dependency
-
IPS-ModelDependencyVersion: the version for the model project dependency
-
IPS-AdditionalRepos: NONE, if the project depends on other product or model projects, a factory class can be specified here, or NONE if there are no other dependencies
-
readOnlyMode: whether the Product Designer starts in read-only mode
Additional Repositories
If a project depends on other product or model projects or other repositories, this can be configured via a factory class.

import org.faktorips.runtime.ClassloaderRuntimeRepository;
import org.faktorips.runtime.formula.groovy.GroovyFormulaEvaluatorFactory;
public class ErwProduktRuntimeRepositoryFactory {
public static final ClassloaderRuntimeRepository INSTANCE = ClassloaderRuntimeRepository
.create("erw-produkt/internal/faktorips-repository-toc.xml");
static {
// Enum content in the model project
INSTANCE.addDirectlyReferencedRepository(ErwModellRuntimeRepositoryFactory.INSTANCE);
INSTANCE.setFormulaEvaluatorFactory(new GroovyFormulaEvaluatorFactory());
}
private RuntimeRepositoryFactory() {
// Should not be instantiated
}
}
Also, the pom.xml
must be supplemented with the extended product.
<dependency>
<groupId>de.faktorzehn</groupId>
<artifactId>modell</artifactId>
<version>1.0.0</version>
</dependency>
<!-- Manually add Erw-Produkt -->
<dependency>
<groupId>de.faktorzehn</groupId>
<artifactId>erw-produkt</artifactId>
<version>1.0.0</version>
</dependency>