Mirror of Apache Marmotta
Java C++ HTML JavaScript PHP CSS Other
Failed to load latest commit information.
.github clearer pull request title in the template Jun 29, 2016
build code style cleanups across the whole source code Nov 19, 2016
client code style cleanups across the whole source code Nov 19, 2016
commons more code hygiene, clean up redundant or unnecessary code Nov 20, 2016
extras [maven-release-plugin] prepare for next development iteration Dec 5, 2014
launchers some basic rat configuration updates Jun 14, 2016
libraries Ostrich: reintroduce URI compression, this time properly, and add a test Nov 20, 2016
loader code style cleanups across the whole source code Nov 19, 2016
parent back to stable version of jackson that comes with jr-objects supported Sep 22, 2016
platform more code hygiene, clean up redundant or unnecessary code Nov 20, 2016
.dockerignore MARMOTTA-636: fixed Dockerfile Apr 29, 2016
.gitignore added maven-eclipse.xml to the list of ignored files Apr 8, 2014
.travis.yml tuned travis memory settings Aug 17, 2016
Dockerfile MARMOTTA-642: commit to force the build Jun 6, 2016
KEYS force-downgrade cal10n to version 0.7.2 because of http://jira.qos.ch… Mar 14, 2013
LICENSE.txt Removed LICENSE entry for LDP testsuite - no more datafiles from the … Dec 12, 2014
NOTICE.txt MARMOTTA-589: added notice about the third-party source base May 2, 2016
README.md added both docker badges Sep 20, 2016
README.mysql made MySQL dependencies optional and added README on how to use MySQL… Mar 7, 2013
assembly.xml cosmetic details Mar 13, 2013
license-mappings.xml more work arounf LICENSE and NOTICE files for the binary distributions Apr 8, 2013
pom.xml some basic rat configuration updates Jun 14, 2016


Apache Marmotta

This repository contains the source code for Apache Marmotta

Maven Central Docker Image Docker Image layers License

Building the Source Distribution

Apache Marmotta uses Maven to build, test, and install the software. A basic build requires downloading and installing Maven and then running:

mvn clean install

This will compile, package and test all Apache Marmotta modules and install it in your local Maven repository. In case you want to build your own projects based on some of the libraries provided by Apache Marmotta, this usually suffices.

The default loglevel for most unit and integration tests executed during the build is INFO. To change the loglevel for either more or less output, you can pass the loglevel as system property:

mvn clean install -Droot-level=TRACE|DEBUG|INFO|WARN|ERROR

Note that some of the integration tests start up parts of the Marmotta platform during execution. The log level for these tests cannot be changed, as Marmotta is taking over the log configuration in these cases.

Building, Running and Deploying the Wep Application

Apache Marmotta also includes a default configuration for building a Java Web Application that can be deployed in any Java Application Server. To build the web application, first run

mvn clean install

in the project root. Then change to the launchers/marmotta-webapp directory and run

mvn package

This will create a marmotta.war file in the target/ directory. You can deploy this archive to any Java Application Server by copying it into its deployment directory; more details.

Alternatively, you can directly startup the Apache Marmotta Web Application from Maven with a default configuration suitable for development. To try this out, run

mvn tomcat7:run

wait until the system is started up and point your browser to http://localhost:8080

When developing it is sometimes useful to always start with a clean confi- guration of the system. Therefore, you can also start up the web application as follows:

mvn clean tomcat7:run -Pcleanall

This command will remove any existing configuration directory before startup.

Building the Standalone Installer

The build environment also offers to automatically build an installer package that guides users through the installation with an easy-to-use installation wizard. The installer is based on izPack and dynamically assembled when building the package. To build the installer, first run

mvn clean install

in the project root. Then change to the launchers/marmotta-installer directory and run

mvn package -Pinstaller

The build process will automatically create an appropriate installer confi- guration from the Maven dependencies through the Apache Marmotta refpack build plugin.

The installer can then be tried out by running

java -jar target/marmotta-installer-x.x.x.jar

Building a Docker image

Marmotta also comes with support for creating a Docker images that you can use for development or testing:

  1. Locate at the root of the source repository
  2. Build image: docker build -t marmotta .
  3. Run the container: docker run -p 8080:8080 marmotta
  4. Access Marmotta at localhost:8080/marmotta (IP address may be different, see information bellow).

An official images is available from Docker Hub as an automated build, so you just need to pull it from there to replace the second step above:

docker pull apache/marmotta

Building with a Clean Repository

Sometimes it is useful to check if the build runs properly on a clean local repository, i.e. simulate what happens if a user downloads the source and runs the build. This can be achieved by running Maven as follows:

mvn clean install -Dmaven.repo.local=/tmp/testrepo

The command changes the local repository location from ~/.m2 to the directory passed as argument

Simulating a Release

To test the release build without actually deploying the software, we have created a profile that will deploy to the local file system. You can simulate the release by running

mvn clean deploy -Pdist-local,marmotta-release,installer

Please keep in mind that building a release involves creating digital signatures, so you will need a GPG key and a proper GPG configuration to run this task.

Read more about our release process.