Jaspersoft Studio Source Build¶
This document describes how to compile and run the Jaspersoft® Studio Professional edition from the sources file.
Note
Version 10.1 is used as an example, but the details are also valid for newer versions.
Zip Package Contents¶
The zip package named js-jss_10.1.0_sources.zip contains the following items:
-
jdkPackagesfolder: Contains compressed files of the JDK version shipped with Jaspersoft Studio (required during the build). -
playwrightPackagesfolder: Contains compressed files of the Playwright version shipped with Jaspersoft Studio (required during the build and runtime). -
sourcesfolder: Contains the source code of the Jaspersoft Studio Professional version. -
targetRepoE438-10.1.0.zip: Contains the target repository that can be used for both compiling in the Eclipse and building via Maven Tycho. -
js-jss_10.1.0_license.txtfile: The current license file.
Setting Up Eclipse and Your Workspace¶
To set up Eclipse and Workspace:
-
Download the latest version of Eclipse from the website: http://www.eclipse.org/.
Normally, the Jaspersoft® developers use the Eclipse IDE for a RCP and RAP developers version.As of the time this document's creation, Eclipse 2026-06 (version 4.40) was the most recent release.
-
Choose a blank workspace when starting Eclipse instance.
-
Configure the proper Java Virtual Machine (JVM) for compiling Jaspersoft Studio source code:
-
Select Eclipse > Preferences > Java > Installed JREs. Make sure that Java 21 is in the list of items. This is because the Jaspersoft Studio source code is compatible with version 21, also the final product runs on version 21. Therefore, it is better to set it up properly (https://adoptium.net/download/). You could also utilize the JDK artifact that is included in the
jdkPackagesfolder.
-
Select Eclipse > Preferences > Java > Installed JREs > Execution Environment. Select the best compatible JVM for each execution environment (that is, Java 21).

-
Select Eclipse > Preferences > Java > Compiler. Change the Compiler compliance level to 21. The code base is compatible with Java 21.

-
-
Configure the proper target platform for compiling Jaspersoft Studio source code:
-
Select Eclipse > Preferences > Plug-in Development > Target Platform.
-
Add a new platform starting from the Nothing option, then add the
targetRepoE438-10.1.0directory containing the plug-ins and features that are the foundation for the Jaspersoft Studio platform.
-
Select the newly created platform to compile the sources.

-
-
Import the existing projects from the sources folder:
-
Select File > Import.
-
Select Import (wizard) > General > Existing Projects into Workspace.

-
Configure the wizard to point to the location of the downloaded
sourcesdirectory, then click Finish. It is recommended to copy the projects directly into the dedicated workspace to avoid modifying the original ones.
-
Note
Once the import operation ends, you see the automatic build triggered.
Setting Up Run/Debug Configuration of Jaspersoft Studio¶
To run/debug a version of the Jaspersoft Studio runtime from the development environment, you can create a run/debug configuration:
-
Select Run > Debug Configurations > Eclipse Application > New from the menu.
-
Enter the name and select
com.jaspersoft.studio.pro.rcp.productfor Run a product option. -
Set the Execution environment to the Java 21 version.

-
You can add the additional arguments and configuration parameters in the Arguments tab. You can also replicate the actual final product configuration using the information in the
jaspersoftstudiopro.productfile. The following example is based on the 10.1.0 configuration:-Xms128m -Xmx2048m --add-modules=ALL-SYSTEM --add-exports=java.xml/com.sun.org.apache.xml.internal.serialize=ALL-UNNAMED --add-opens=java.desktop/sun.java2d=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Dlog4j2.contextSelector=org.apache.logging.log4j.core.selector.BasicContextSelector -Dplaywright.cli.dir=/tmp/temp_building/playwright-1.59.0macosx-x64/driver/mac -Dlog4j.configurationFile=file:/tmp/temp_building/sources/jaspersoft-studio-pro-repo/aggregator.pro/ant-scripts/rootfiles/log4j2.xml -XstartOnFirstThread
The
playwright.cli.diris added to specify the location of the Playwright installation that will be used for the HTML PRO component.The final Jaspersoft Studio product will not require this, since the library is bundled as part of the build process.
-
(Optional) On the Plug-ins tab, disable the option Validate Plug-ins automatically prior to launching to avoid the warning message associated with plug-ins/fragments/features for multiple operating systems.
-
Click Debug to launch the Jaspersoft Studio runtime.
Creating Products from Jaspersoft Studio Sources¶
To test the way the final product looks after export, you can leverage Maven Tycho to build Jaspersoft Studio sources.
Note
- All the source projects must be in one single folder, for example, it could be the Eclipse workspace or you may copy the projects into a new dedicated folder.
- To build the Jaspersoft Studio Professional project use the
aggregator.proproject as main location.
-
Make sure you have correctly installed Maven.
-
Set up Maven properly using any of these methods.
Method 1
-
Configure your Maven
settings.xmlfile. You can start from the following samplesettings.xmlfile:<settings> <profiles> <profile> <id>JSSProfile</id> <repositories> <repository> <id>central</id> <name>jaspersoft-repo</name> <url>https://jaspersoft.jfrog.io/jaspersoft/jaspersoft-repo</url> </repository> </repositories> <properties> <!-- Local Repository with the target platform for building --> <targetplatform.repo>/tmp/temp_building/targetRepoE438-10.1.0</targetplatform.repo> <!-- JDK files location --> <jre.packages.location>/tmp/temp_building/jdkPackages</jre.packages.location> <!-- Playwright artifacts location --> <playwright.packages.location>/tmp/temp_building/playwrightPackages</playwright.packages.location> </properties> </profile> </profiles> <activeProfiles> <activeProfile>JSSProfile</activeProfile> </activeProfiles> </settings> -
In the
aggregator.proproject folder, run the following command.Method 2: In the
aggregator.profolder, provide all the details in one single command:
-
-
When the build is completed, you can retrieve the product artifacts from the following location:
<FULLWORKSPACE_PATH>/com.jaspersoft.studio.pro.rcp.product/target/products/ com.jaspersoft.studio.pro.rcp.product/FULLWORKSPACE_PATHis the location where all the sources are located including an Eclipse workspace folder. -
To properly package the previously created raw artifacts, perform the following steps:
-
Select the subfolder
ant-scriptsfromaggregator.proproject as a current location. -
Run the following command using ANT:
-
The zipped artifacts are found in the
product/distproject subfolder.
-
Troubleshooting Jaspersoft Studio Development Environment Setup¶
Depending on the environment configuration, you might experience these common issues:
-
Build errors
-
Issue: Sometimes after importing sources, the two projects,
com.jaspersoft.studio.data.sqlandcom.jaspersoft.studio.editor.jrexpressionsmay fail to build correctly. -
Solution: Create a new folder named
xtend-geninside both the project directories. This allows the compilation of these plug-in projects and their associated UI components to complete successfully.
-
-
Workspace errors via Javadoc API references
-
Issue: The Problems view displays numerous errors across various imported projects, mostly related to Javadoc API references.
-
Solution: Navigate to Preferences > Java > Compiler > Errors/Warnings. Under the Deprecated and restricted API section, change Forbidden reference (access rules) to Warning.
-
-
Logging configuration and plugin startup issues
-
Issue: Errors occur when expanding or modifying the logging setup configuration.
-
Solution: Manually match the plugin startup-level configurations to the final product. Update the following bundles in your dedicated runtime configuration:
- org.apache.aries.spifly.dynamic.bundle 2 / true - org.apache.felix.scr 2 / true - org.apache.logging.log4j.api 2 / true - org.apache.logging.log4j.slf4j2.impl 2 / true - org.eclipse.equinox.common 2 / true - org.eclipse.equinox.event 2 / true - org.eclipse.equinox.simpleconfigurator 1 / true - org.eclipse.osgi 1 / true
-
Additional information¶
For any further information, contact the Jaspersoft Studio team.