Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search


Eclipse SCADA is built using Eclipse Tycho. So it uses maven as tool, but does not create plain maven repositories, it creates P2 repositories. If you are working inside Eclipse and OSGi this might be "ok", but sometimes it is good to use plain maven. For this the Eclipse SCADA P2 repositories are converted from P2 to maven using the tool EclipseSCADA/Build/P2toM2.

This produces a plain maven repository structure, which might not have the same quality as manually authored maven repository, still it works quite well.

Java 7+
Eclipse SCADA requires Java 7+. Be sure to configure your maven project and runtime accordingly


Add the following repository:


Since Apache Mina uses the "maven-bundle-plugin" you will need to add this bundle to you "pom" file as well:



All modules are converted using the groupId and artifactId that are already present by the Eclipse Tycho setup. So you actually can look them up in the POM files of the bundles.

However these POM files are not directly used, but re-created during the conversion.

In order to write a simple server (Hive) with an NGP exporter add the following dependencies:


Transient dependencies

The conversion process also created dependencies in the POM files. These dependencies are coming from the P2 meta informations.

Since the P2 system can handle java package dependencies (as OSGi has), and maven cannot handle these, there is some change in the dependency informations when the P2 metadata is converted to maven.

Where P2 specifies the required dependencies, these are resolved using the provided P2 repositories (source and validating), and the result is placed into the resulting POM files as dependency.

So if a bundle requires "org.slf4j 1.6.0", it might resolve to "org.slf4j 1.7.2", since this is this version in the P2 repositories. The resulting POM file will contain a reference to "org.slf4j 1.7.2".

External dependencies

Eclipse SCADA uses all external dependencies from internal sources. Either from the "external" repository or from [Eclipse Orbit].

While this is ok inside Eclipse and OSGi, this is not what you would expect in a plain maven setup.

That is why all dependencies that are externally available as artifacts for maven from maven central are rewritten in the pom files.

The current list is in the configuration file used by p2tom2.

At the moment of writing this is:


Complete example

A complete example can be found at:

Back to the top