Bug 541741: [Releng] Add build using Maven/Tycho

Also:
  - Remove WST facet config
  - Convert rj.servi.webapp to M2E

Change-Id: Ia6ed9692d4f535fae89789420dc69bd596915524
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
index c99f846..99f26c0 100644
--- a/.settings/org.eclipse.core.resources.prefs
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -1,4 +1,2 @@
 eclipse.preferences.version=1
-encoding//core/_build/org.eclipse.statet.rj.core/about.ini=ISO-8859-1
-encoding//eclient/org.eclipse.statet.rj.eclient.core/about.ini=ISO-8859-1
 encoding/<project>=UTF-8
diff --git a/core/_build/org.eclipse.statet.rj.core-feature/.project b/core/_assemblies/org.eclipse.statet.rj.core-feature/.project
similarity index 100%
rename from core/_build/org.eclipse.statet.rj.core-feature/.project
rename to core/_assemblies/org.eclipse.statet.rj.core-feature/.project
diff --git a/core/_build/org.eclipse.statet.rj.core-feature/build.properties b/core/_assemblies/org.eclipse.statet.rj.core-feature/build.properties
similarity index 100%
rename from core/_build/org.eclipse.statet.rj.core-feature/build.properties
rename to core/_assemblies/org.eclipse.statet.rj.core-feature/build.properties
diff --git a/core/_build/org.eclipse.statet.rj.core-feature/feature.properties b/core/_assemblies/org.eclipse.statet.rj.core-feature/feature.properties
similarity index 100%
rename from core/_build/org.eclipse.statet.rj.core-feature/feature.properties
rename to core/_assemblies/org.eclipse.statet.rj.core-feature/feature.properties
diff --git a/core/_build/org.eclipse.statet.rj.core-feature/feature.xml b/core/_assemblies/org.eclipse.statet.rj.core-feature/feature.xml
similarity index 84%
rename from core/_build/org.eclipse.statet.rj.core-feature/feature.xml
rename to core/_assemblies/org.eclipse.statet.rj.core-feature/feature.xml
index 714bf47..1d37a22 100644
--- a/core/_build/org.eclipse.statet.rj.core-feature/feature.xml
+++ b/core/_assemblies/org.eclipse.statet.rj.core-feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.statet.rj.core"
       version="4.0.0.qualifier"
-      label="StatET RJ - Java Core"
-      provider-name="Eclipse.org"
+      label="StatET RJ - Core"
+      provider-name="Eclipse StatET"
       license-feature="org.eclipse.license"
-      license-feature-version="1.0.1">
+      license-feature-version="0.0.0">
 
    <description url="https://www.eclipse.org/statet">
       Core of high-level Java-R library RJ
@@ -15,8 +15,8 @@
       Copyright (c) 2003, 2018 Stephan Wahlbrink and others. All rights reserved.
    </copyright>
 
-   <license url="%license_url">
-      %license_text
+   <license url="%licenseURL">
+      %license
    </license>
 
    <plugin
diff --git a/core/_build/org.eclipse.statet.rj.server-consoleserver/pom.xml b/core/_assemblies/org.eclipse.statet.rj.server-consoleserver/pom.xml
similarity index 68%
rename from core/_build/org.eclipse.statet.rj.server-consoleserver/pom.xml
rename to core/_assemblies/org.eclipse.statet.rj.server-consoleserver/pom.xml
index c76aa11..0a8bece 100644
--- a/core/_build/org.eclipse.statet.rj.server-consoleserver/pom.xml
+++ b/core/_assemblies/org.eclipse.statet.rj.server-consoleserver/pom.xml
@@ -5,48 +5,41 @@
 	<modelVersion>4.0.0</modelVersion>
 	
 	<parent>
-		<groupId>org.eclipse.statet.rj</groupId>
-		<artifactId>rj-core</artifactId>
-		<version>2.1-SNAPSHOT</version>
+		<groupId>org.eclipse.statet.rj-assemblies</groupId>
+		<artifactId>rj.core</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
 	</parent>
 	
-	<groupId>org.eclipse.statet.rj-packaging</groupId>
-	<artifactId>org.eclipse.statet.rj.core-consoleserver</artifactId>
-	<version>2.1.0-SNAPSHOT</version>
+	<artifactId>org.eclipse.statet.rj.server-consoleserver</artifactId>
+	<version>4.0.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 	
 	<dependencies>
+		
+		<dependency>
+			<groupId>org.eclipse.statet.jcommons</groupId>
+			<artifactId>org.eclipse.statet.jcommons.util</artifactId>
+		</dependency>
+		
 		<dependency>
 			<groupId>org.eclipse.statet.rj</groupId>
 			<artifactId>org.eclipse.statet.rj.data</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-			<type>eclipse-plugin</type>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.statet.rj</groupId>
 			<artifactId>org.eclipse.statet.rj.server</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-			<type>eclipse-plugin</type>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.statet.rj</groupId>
 			<artifactId>org.eclipse.statet.rj.server.remotetools</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-			<type>eclipse-plugin</type>
 		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.commons</groupId>
-			<artifactId>org.eclipse.statet.jcommons.util</artifactId>
-			<version>1.0.0-SNAPSHOT</version>
-			<type>eclipse-plugin</type>
-		</dependency>
+		
 	</dependencies>
 	
 	<build>
 		<plugins>
 			<plugin>
 				<artifactId>maven-assembly-plugin</artifactId>
-				<version>2.4</version>
 				<executions>
 					<execution>
 						<id>pack-server</id>
diff --git a/core/_build/org.eclipse.statet.rj.server-consoleserver/server.xml b/core/_assemblies/org.eclipse.statet.rj.server-consoleserver/server.xml
similarity index 95%
rename from core/_build/org.eclipse.statet.rj.server-consoleserver/server.xml
rename to core/_assemblies/org.eclipse.statet.rj.server-consoleserver/server.xml
index 05e16fa..c1b8d33 100644
--- a/core/_build/org.eclipse.statet.rj.server-consoleserver/server.xml
+++ b/core/_assemblies/org.eclipse.statet.rj.server-consoleserver/server.xml
@@ -43,9 +43,9 @@
 			<outputDirectory>/</outputDirectory>
 			<useTransitiveDependencies>false</useTransitiveDependencies>
 			<includes>
+				<include>org.eclipse.statet.jcommons:org.eclipse.statet.jcommons.util</include>
 				<include>org.eclipse.statet.rj:org.eclipse.statet.rj.data</include>
 				<include>org.eclipse.statet.rj:org.eclipse.statet.rj.server</include>
-				<include>org.eclipse.statet.commons:org.eclipse.statet.jcommons.util</include>
 			</includes>
 			<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
 		</dependencySet>
diff --git a/core/_assemblies/pom.xml b/core/_assemblies/pom.xml
new file mode 100644
index 0000000..c389163
--- /dev/null
+++ b/core/_assemblies/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj</groupId>
+		<artifactId>rj.core</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<groupId>org.eclipse.statet.rj-assemblies</groupId>
+	<artifactId>rj.core</artifactId>
+	<packaging>pom</packaging>
+	
+	<modules>
+		<module>org.eclipse.statet.rj.core-feature</module>
+		
+		<module>org.eclipse.statet.rj.server-consoleserver</module>
+		
+	</modules>
+	
+</project>
diff --git a/core/_build/org.eclipse.statet.rj.core/.gitignore b/core/_build/org.eclipse.statet.rj.core/.gitignore
deleted file mode 100644
index 5e56e04..0000000
--- a/core/_build/org.eclipse.statet.rj.core/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/bin
diff --git a/core/_build/org.eclipse.statet.rj.core/.project b/core/_build/org.eclipse.statet.rj.core/.project
deleted file mode 100644
index 89ad76e..0000000
--- a/core/_build/org.eclipse.statet.rj.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.statet.rj.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/core/org.eclipse.statet.rj.client/.classpath b/core/org.eclipse.statet.rj.client/.classpath
index 4ff64d1..7728a88 100644
--- a/core/org.eclipse.statet.rj.client/.classpath
+++ b/core/org.eclipse.statet.rj.client/.classpath
@@ -2,7 +2,6 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
-			<attribute name="owner.project.facets" value="java"/>
 			<attribute name="annotationpath" value="/org.eclipse.statet/eea/"/>
 		</attributes>
 	</classpathentry>
diff --git a/core/org.eclipse.statet.rj.client/.gitignore b/core/org.eclipse.statet.rj.client/.gitignore
index 5e56e04..09e3bc9 100644
--- a/core/org.eclipse.statet.rj.client/.gitignore
+++ b/core/org.eclipse.statet.rj.client/.gitignore
@@ -1 +1,2 @@
-/bin
+/bin/
+/target/
diff --git a/core/org.eclipse.statet.rj.client/.project b/core/org.eclipse.statet.rj.client/.project
index 20b6194..fcfd4cb 100644
--- a/core/org.eclipse.statet.rj.client/.project
+++ b/core/org.eclipse.statet.rj.client/.project
@@ -6,11 +6,6 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
@@ -26,7 +21,7 @@
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
@@ -34,8 +29,6 @@
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 	</natures>
 </projectDescription>
diff --git a/core/org.eclipse.statet.rj.client/.settings/org.eclipse.wst.common.component b/core/org.eclipse.statet.rj.client/.settings/org.eclipse.wst.common.component
deleted file mode 100644
index fba8ab5..0000000
--- a/core/org.eclipse.statet.rj.client/.settings/org.eclipse.wst.common.component
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId" project-version="1.5.0">
-    <wb-module deploy-name="org.eclipse.statet.rj.client">
-        <wb-resource deploy-path="/" source-path="/src"/>
-    </wb-module>
-</project-modules>
diff --git a/core/org.eclipse.statet.rj.client/.settings/org.eclipse.wst.common.project.facet.core.xml b/core/org.eclipse.statet.rj.client/.settings/org.eclipse.wst.common.project.facet.core.xml
deleted file mode 100644
index a1f5f3c..0000000
--- a/core/org.eclipse.statet.rj.client/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-  <fixed facet="java"/>
-  <fixed facet="jst.utility"/>
-  <installed facet="java" version="1.8"/>
-  <installed facet="jst.utility" version="1.0"/>
-</faceted-project>
diff --git a/core/org.eclipse.statet.rj.client/META-INF/MANIFEST.MF b/core/org.eclipse.statet.rj.client/META-INF/MANIFEST.MF
index 8a89291..8f94c17 100644
--- a/core/org.eclipse.statet.rj.client/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.statet.rj.client/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.client;singleton:=true
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - Client Implementation
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.statet.rj.data;bundle-version="[4.0.0,4.1.0)",
diff --git a/core/org.eclipse.statet.rj.client/build.properties b/core/org.eclipse.statet.rj.client/build.properties
index 5ce0c73..9f02c9f 100644
--- a/core/org.eclipse.statet.rj.client/build.properties
+++ b/core/org.eclipse.statet.rj.client/build.properties
@@ -1,5 +1,4 @@
-source..= src/,\
-          srcRSetups/
+source..= src/
 output..= bin/
 javacDefaultEncoding..= UTF-8
 
diff --git a/core/org.eclipse.statet.rj.client/pom.xml b/core/org.eclipse.statet.rj.client/pom.xml
new file mode 100644
index 0000000..e758212
--- /dev/null
+++ b/core/org.eclipse.statet.rj.client/pom.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj</groupId>
+		<artifactId>rj.core</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<artifactId>org.eclipse.statet.rj.client</artifactId>
+	<version>4.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.eclipse.statet.jcommons</groupId>
+			<artifactId>org.eclipse.statet.jcommons.util</artifactId>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.eclipse.statet.rj</groupId>
+			<artifactId>org.eclipse.statet.rj.data</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.eclipse.statet.rj</groupId>
+			<artifactId>org.eclipse.statet.rj.server</artifactId>
+		</dependency>
+		
+	</dependencies>
+	
+</project>
diff --git a/core/org.eclipse.statet.rj.core/.gitignore b/core/org.eclipse.statet.rj.core/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/core/org.eclipse.statet.rj.core/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/core/org.eclipse.statet.rj.core/.project b/core/org.eclipse.statet.rj.core/.project
new file mode 100644
index 0000000..d6f765c
--- /dev/null
+++ b/core/org.eclipse.statet.rj.core/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.statet.rj.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/core/org.eclipse.statet.rj.core/.settings/org.eclipse.core.resources.prefs b/core/org.eclipse.statet.rj.core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..95ae74d
--- /dev/null
+++ b/core/org.eclipse.statet.rj.core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
+encoding/about.ini=ISO-8859-1
diff --git a/core/org.eclipse.statet.rj.core/.settings/org.eclipse.core.runtime.prefs b/core/org.eclipse.statet.rj.core/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/core/org.eclipse.statet.rj.core/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/core/_build/org.eclipse.statet.rj.core/META-INF/MANIFEST.MF b/core/org.eclipse.statet.rj.core/META-INF/MANIFEST.MF
similarity index 85%
rename from core/_build/org.eclipse.statet.rj.core/META-INF/MANIFEST.MF
rename to core/org.eclipse.statet.rj.core/META-INF/MANIFEST.MF
index aa859d8..5b91b5b 100644
--- a/core/_build/org.eclipse.statet.rj.core/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.statet.rj.core/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.core;singleton:=true
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - Java Core
diff --git a/core/_build/org.eclipse.statet.rj.core/about.html b/core/org.eclipse.statet.rj.core/about.html
similarity index 100%
rename from core/_build/org.eclipse.statet.rj.core/about.html
rename to core/org.eclipse.statet.rj.core/about.html
diff --git a/core/_build/org.eclipse.statet.rj.core/about.ini b/core/org.eclipse.statet.rj.core/about.ini
similarity index 85%
rename from core/_build/org.eclipse.statet.rj.core/about.ini
rename to core/org.eclipse.statet.rj.core/about.ini
index be036ec..2ae8144 100644
--- a/core/_build/org.eclipse.statet.rj.core/about.ini
+++ b/core/org.eclipse.statet.rj.core/about.ini
@@ -1,6 +1,6 @@
 featureImage= rj32.png
 aboutText= \
-StatET RJ - Java Core\n\
+Eclipse StatET RJ - Core\n\
 \n\
 Copyright (c) 2003, 2018 Stephan Wahlbrink and others. All rights reserved.\n\
 Visit https://www.eclipse.org/statet\n\
diff --git a/core/_build/org.eclipse.statet.rj.core/build.properties b/core/org.eclipse.statet.rj.core/build.properties
similarity index 100%
rename from core/_build/org.eclipse.statet.rj.core/build.properties
rename to core/org.eclipse.statet.rj.core/build.properties
diff --git a/core/_build/org.eclipse.statet.rj.core/rj32.png b/core/org.eclipse.statet.rj.core/rj32.png
similarity index 100%
rename from core/_build/org.eclipse.statet.rj.core/rj32.png
rename to core/org.eclipse.statet.rj.core/rj32.png
Binary files differ
diff --git a/core/org.eclipse.statet.rj.data/.classpath b/core/org.eclipse.statet.rj.data/.classpath
index 4ff64d1..7728a88 100644
--- a/core/org.eclipse.statet.rj.data/.classpath
+++ b/core/org.eclipse.statet.rj.data/.classpath
@@ -2,7 +2,6 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
-			<attribute name="owner.project.facets" value="java"/>
 			<attribute name="annotationpath" value="/org.eclipse.statet/eea/"/>
 		</attributes>
 	</classpathentry>
diff --git a/core/org.eclipse.statet.rj.data/.gitignore b/core/org.eclipse.statet.rj.data/.gitignore
index 934e0e0..09e3bc9 100644
--- a/core/org.eclipse.statet.rj.data/.gitignore
+++ b/core/org.eclipse.statet.rj.data/.gitignore
@@ -1,2 +1,2 @@
-/bin
-/target
+/bin/
+/target/
diff --git a/core/org.eclipse.statet.rj.data/.project b/core/org.eclipse.statet.rj.data/.project
index d104406..426bfa9 100644
--- a/core/org.eclipse.statet.rj.data/.project
+++ b/core/org.eclipse.statet.rj.data/.project
@@ -6,11 +6,6 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
@@ -25,11 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 	</natures>
 </projectDescription>
diff --git a/core/org.eclipse.statet.rj.data/.settings/org.eclipse.wst.common.component b/core/org.eclipse.statet.rj.data/.settings/org.eclipse.wst.common.component
deleted file mode 100644
index e4dc2c0..0000000
--- a/core/org.eclipse.statet.rj.data/.settings/org.eclipse.wst.common.component
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId" project-version="1.5.0">
-    <wb-module deploy-name="org.eclipse.statet.rj.data">
-        <wb-resource deploy-path="/" source-path="/src"/>
-    </wb-module>
-</project-modules>
diff --git a/core/org.eclipse.statet.rj.data/.settings/org.eclipse.wst.common.project.facet.core.xml b/core/org.eclipse.statet.rj.data/.settings/org.eclipse.wst.common.project.facet.core.xml
deleted file mode 100644
index f4ef8aa..0000000
--- a/core/org.eclipse.statet.rj.data/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-  <installed facet="java" version="1.8"/>
-</faceted-project>
diff --git a/core/org.eclipse.statet.rj.data/META-INF/MANIFEST.MF b/core/org.eclipse.statet.rj.data/META-INF/MANIFEST.MF
index cbdb768..4102f0a 100644
--- a/core/org.eclipse.statet.rj.data/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.statet.rj.data/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.data
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - Data
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: org.eclipse.statet.jcommons.lang;version="4.0.0"
diff --git a/core/org.eclipse.statet.rj.data/pom.xml b/core/org.eclipse.statet.rj.data/pom.xml
new file mode 100644
index 0000000..1ceeaef
--- /dev/null
+++ b/core/org.eclipse.statet.rj.data/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj</groupId>
+		<artifactId>rj.core</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<artifactId>org.eclipse.statet.rj.data</artifactId>
+	<version>4.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.eclipse.statet.jcommons</groupId>
+			<artifactId>org.eclipse.statet.jcommons.util</artifactId>
+		</dependency>
+	</dependencies>
+	
+</project>
diff --git a/core/org.eclipse.statet.rj.server.remotetools/.gitignore b/core/org.eclipse.statet.rj.server.remotetools/.gitignore
index ef319c8..09e3bc9 100644
--- a/core/org.eclipse.statet.rj.server.remotetools/.gitignore
+++ b/core/org.eclipse.statet.rj.server.remotetools/.gitignore
@@ -1,3 +1,2 @@
-/bin
-/binShaj
-/target
+/bin/
+/target/
diff --git a/core/org.eclipse.statet.rj.server.remotetools/.project b/core/org.eclipse.statet.rj.server.remotetools/.project
index 988eb46..349be7d 100644
--- a/core/org.eclipse.statet.rj.server.remotetools/.project
+++ b/core/org.eclipse.statet.rj.server.remotetools/.project
@@ -22,7 +22,7 @@
 		</buildCommand>
 	</buildSpec>
 	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
 </projectDescription>
diff --git a/core/org.eclipse.statet.rj.server.remotetools/META-INF/MANIFEST.MF b/core/org.eclipse.statet.rj.server.remotetools/META-INF/MANIFEST.MF
index f8f5913..7648541 100644
--- a/core/org.eclipse.statet.rj.server.remotetools/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.statet.rj.server.remotetools/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.server.remotetools
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - Server - Remote Tools
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.statet.rj.server;bundle-version="[4.0.0,4.1.0)"
diff --git a/core/org.eclipse.statet.rj.server.remotetools/build.properties b/core/org.eclipse.statet.rj.server.remotetools/build.properties
index 3fac0f6..458f72a 100644
--- a/core/org.eclipse.statet.rj.server.remotetools/build.properties
+++ b/core/org.eclipse.statet.rj.server.remotetools/build.properties
@@ -1,12 +1,11 @@
-source..= srcShaj/
-output..= binShaj/
+source..= src/
+output..= bin/
 javacDefaultEncoding..= UTF-8
 
-bin.includes = META-INF/,\
-               about.html,\
-               about_files/,\
-               startup.sh,\
-               startup.cmd,\
-               startup.ps1,\
-               security.policy
+bin.includes= META-INF/,\
+              about.html,\
+              about_files/,\
+              startup.sh,\
+              startup.ps1,\
+              security.policy
 src.includes= .settings/org.eclipse.core.resources.prefs
diff --git a/core/org.eclipse.statet.rj.server.rpkg/.gitignore b/core/org.eclipse.statet.rj.server.rpkg/.gitignore
index 934e0e0..09e3bc9 100644
--- a/core/org.eclipse.statet.rj.server.rpkg/.gitignore
+++ b/core/org.eclipse.statet.rj.server.rpkg/.gitignore
@@ -1,2 +1,2 @@
-/bin
-/target
+/bin/
+/target/
diff --git a/core/org.eclipse.statet.rj.server.rpkg/.project b/core/org.eclipse.statet.rj.server.rpkg/.project
index 2e87065..a586ff3 100644
--- a/core/org.eclipse.statet.rj.server.rpkg/.project
+++ b/core/org.eclipse.statet.rj.server.rpkg/.project
@@ -6,6 +6,11 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
 			<name>org.eclipse.pde.ManifestBuilder</name>
 			<arguments>
 			</arguments>
@@ -18,5 +23,6 @@
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
 </projectDescription>
diff --git a/core/org.eclipse.statet.rj.server.rpkg/META-INF/MANIFEST.MF b/core/org.eclipse.statet.rj.server.rpkg/META-INF/MANIFEST.MF
index bec7b80..feb5416 100644
--- a/core/org.eclipse.statet.rj.server.rpkg/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.statet.rj.server.rpkg/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.server.rpkg
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
-Bundle-Name: StatET RJ - Server - R Package
+Bundle-Vendor: Eclipse StatET
+Bundle-Name: StatET RJ - Server - R Package Skeleton + API
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.statet.rj.data;bundle-version="[4.0.0,4.1.0)",
  org.eclipse.statet.rj.server;bundle-version="[4.0.0,4.1.0)"
diff --git a/core/org.eclipse.statet.rj.server.rpkg/build.properties b/core/org.eclipse.statet.rj.server.rpkg/build.properties
index 93163f1..af039da 100644
--- a/core/org.eclipse.statet.rj.server.rpkg/build.properties
+++ b/core/org.eclipse.statet.rj.server.rpkg/build.properties
@@ -1,4 +1,8 @@
-bin.includes = META-INF/,\
-               pkg/,\
-               about.html
-src.includes= .settings/org.eclipse.core.resources.prefs
+source..= src/
+output..= bin/
+javacDefaultEncoding..= UTF-8
+
+bin.includes= META-INF/,\
+              pkg/,\
+              about.html
+src.includes=.settings/org.eclipse.core.resources.prefs
diff --git a/core/org.eclipse.statet.rj.server/.classpath b/core/org.eclipse.statet.rj.server/.classpath
index 66214d8..5a41d62 100644
--- a/core/org.eclipse.statet.rj.server/.classpath
+++ b/core/org.eclipse.statet.rj.server/.classpath
@@ -2,7 +2,6 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
-			<attribute name="owner.project.facets" value="java"/>
 			<attribute name="annotationpath" value="/org.eclipse.statet/eea/"/>
 		</attributes>
 	</classpathentry>
diff --git a/core/org.eclipse.statet.rj.server/.gitignore b/core/org.eclipse.statet.rj.server/.gitignore
index ed620ff..b7b8150 100644
--- a/core/org.eclipse.statet.rj.server/.gitignore
+++ b/core/org.eclipse.statet.rj.server/.gitignore
@@ -1,3 +1,3 @@
-/bin
-/target
-/doc
+/bin/
+/doc/
+/target/
diff --git a/core/org.eclipse.statet.rj.server/.project b/core/org.eclipse.statet.rj.server/.project
index d27385d..0cd954e 100644
--- a/core/org.eclipse.statet.rj.server/.project
+++ b/core/org.eclipse.statet.rj.server/.project
@@ -6,11 +6,6 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
@@ -25,11 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 	</natures>
 </projectDescription>
diff --git a/core/org.eclipse.statet.rj.server/.settings/org.eclipse.wst.common.component b/core/org.eclipse.statet.rj.server/.settings/org.eclipse.wst.common.component
deleted file mode 100644
index 73cd796..0000000
--- a/core/org.eclipse.statet.rj.server/.settings/org.eclipse.wst.common.component
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">

-    <wb-module deploy-name="org.eclipse.statet.rj.server">

-        <wb-resource deploy-path="/" source-path="/src"/>

-    </wb-module>

-</project-modules>

diff --git a/core/org.eclipse.statet.rj.server/.settings/org.eclipse.wst.common.project.facet.core.xml b/core/org.eclipse.statet.rj.server/.settings/org.eclipse.wst.common.project.facet.core.xml
deleted file mode 100644
index f4ef8aa..0000000
--- a/core/org.eclipse.statet.rj.server/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-  <installed facet="java" version="1.8"/>
-</faceted-project>
diff --git a/core/org.eclipse.statet.rj.server/META-INF/MANIFEST.MF b/core/org.eclipse.statet.rj.server/META-INF/MANIFEST.MF
index a60167b..f0af843 100644
--- a/core/org.eclipse.statet.rj.server/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.statet.rj.server/META-INF/MANIFEST.MF
@@ -2,12 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.server;singleton:=true
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - Server - Core
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.statet.rj.data;bundle-version="[4.0.0,4.1.0)",
- org.eclipse.swt;bundle-version="3.6.0";resolution:=optional,
- com.cenqua.shaj;bundle-version="1.0.0";resolution:=optional
+ org.eclipse.swt;bundle-version="3.6.0";resolution:=optional
 Import-Package: org.eclipse.core.runtime;resolution:=optional,
  org.eclipse.statet.jcommons.collections;version="4.0.0",
  org.eclipse.statet.jcommons.lang;version="4.0.0",
diff --git a/core/org.eclipse.statet.rj.server/pom.xml b/core/org.eclipse.statet.rj.server/pom.xml
new file mode 100644
index 0000000..e6f9c50
--- /dev/null
+++ b/core/org.eclipse.statet.rj.server/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj</groupId>
+		<artifactId>rj.core</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<artifactId>org.eclipse.statet.rj.server</artifactId>
+	<version>4.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.eclipse.statet.jcommons</groupId>
+			<artifactId>org.eclipse.statet.jcommons.util</artifactId>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.eclipse.statet.rj</groupId>
+			<artifactId>org.eclipse.statet.rj.data</artifactId>
+		</dependency>
+	</dependencies>
+	
+</project>
diff --git a/core/org.eclipse.statet.rj.server/src/org/eclipse/statet/rj/server/srvext/auth/LocalShajAuthMethod.java b/core/org.eclipse.statet.rj.server/src/org/eclipse/statet/rj/server/srvext/auth/LocalShajAuthMethod.java
deleted file mode 100644
index 1d130e0..0000000
--- a/core/org.eclipse.statet.rj.server/src/org/eclipse/statet/rj/server/srvext/auth/LocalShajAuthMethod.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*=============================================================================#
- # Copyright (c) 2009, 2018 Stephan Wahlbrink and others.
- # 
- # This program and the accompanying materials are made available under the
- # terms of the Eclipse Public License 2.0 which is available at
- # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
- # which is available at https://www.apache.org/licenses/LICENSE-2.0.
- # 
- # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
- # 
- # Contributors:
- #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
- #=============================================================================*/
-
-package org.eclipse.statet.rj.server.srvext.auth;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.NameCallback;
-import javax.security.auth.callback.PasswordCallback;
-import javax.security.auth.login.FailedLoginException;
-import javax.security.auth.login.LoginException;
-
-import com.cenqua.shaj.Shaj;
-
-import org.eclipse.statet.rj.RjException;
-import org.eclipse.statet.rj.server.srvext.ServerAuthMethod;
-
-
-/**
- * Authentication method 'local-shaj'
- * to authenticate against local user account.
- */
-public class LocalShajAuthMethod extends ServerAuthMethod {
-	
-	
-	private String[] users;
-	
-	
-	public LocalShajAuthMethod() {
-		super("local-shaj", true);
-	}
-	
-	
-	@Override
-	public void doInit(final String arg) throws RjException {
-		if (!Shaj.init()) {
-			throw new RjException("Initializing authentication failed:\n" +
-					"Initializing 'shaj'-library failed");
-		}
-		this.users = new String[] { System.getProperty("user.name") };
-	}
-	
-	@Override
-	protected Callback[] doCreateLogin() throws RjException {
-		return new Callback[] {
-				new NameCallback("Username"),
-				new PasswordCallback("Password", false),
-		};
-	}
-	
-	@Override
-	protected String doPerformLogin(final Callback[] callbacks) throws LoginException, RjException {
-		final String loginName = ((NameCallback) callbacks[0]).getName();
-		if (isValidUser(loginName)) {
-			final char[] loginPassword = ((PasswordCallback) callbacks[1]).getPassword();
-			if (Shaj.checkPassword(null, loginName, new String(loginPassword))) {
-				return loginName;
-			}
-		}
-		throw new FailedLoginException("Invalid username or password");
-	}
-	
-	private boolean isValidUser(final String user) {
-		for (final String s : this.users) {
-			if (s.equals(user)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-}
diff --git a/core/org.eclipse.statet.rj.services.core/.classpath b/core/org.eclipse.statet.rj.services.core/.classpath
index 63896b8..d746062 100644
--- a/core/org.eclipse.statet.rj.services.core/.classpath
+++ b/core/org.eclipse.statet.rj.services.core/.classpath
@@ -2,7 +2,6 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
-			<attribute name="owner.project.facets" value="java"/>
 			<attribute name="annotationpath" value="/org.eclipse.statet/eea/"/>
 		</attributes>
 	</classpathentry>
diff --git a/core/org.eclipse.statet.rj.services.core/.gitignore b/core/org.eclipse.statet.rj.services.core/.gitignore
index 5e56e04..09e3bc9 100644
--- a/core/org.eclipse.statet.rj.services.core/.gitignore
+++ b/core/org.eclipse.statet.rj.services.core/.gitignore
@@ -1 +1,2 @@
-/bin
+/bin/
+/target/
diff --git a/core/org.eclipse.statet.rj.services.core/.project b/core/org.eclipse.statet.rj.services.core/.project
index 394d5aa..8fdc19c 100644
--- a/core/org.eclipse.statet.rj.services.core/.project
+++ b/core/org.eclipse.statet.rj.services.core/.project
@@ -6,11 +6,6 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
@@ -26,7 +21,7 @@
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
@@ -34,8 +29,6 @@
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 	</natures>
 </projectDescription>
diff --git a/core/org.eclipse.statet.rj.services.core/.settings/org.eclipse.wst.common.component b/core/org.eclipse.statet.rj.services.core/.settings/org.eclipse.wst.common.component
deleted file mode 100644
index 8428fc2..0000000
--- a/core/org.eclipse.statet.rj.services.core/.settings/org.eclipse.wst.common.component
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId" project-version="1.5.0">
-    <wb-module deploy-name="org.eclipse.statet.rj.services.core">
-        <wb-resource deploy-path="/" source-path="/src"/>
-        <wb-resource deploy-path="/" source-path="/srcGraphic"/>
-    </wb-module>
-</project-modules>
diff --git a/core/org.eclipse.statet.rj.services.core/.settings/org.eclipse.wst.common.project.facet.core.xml b/core/org.eclipse.statet.rj.services.core/.settings/org.eclipse.wst.common.project.facet.core.xml
deleted file mode 100644
index a1f5f3c..0000000
--- a/core/org.eclipse.statet.rj.services.core/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-  <fixed facet="java"/>
-  <fixed facet="jst.utility"/>
-  <installed facet="java" version="1.8"/>
-  <installed facet="jst.utility" version="1.0"/>
-</faceted-project>
diff --git a/core/org.eclipse.statet.rj.services.core/META-INF/MANIFEST.MF b/core/org.eclipse.statet.rj.services.core/META-INF/MANIFEST.MF
index a2f2817..6008ddb 100644
--- a/core/org.eclipse.statet.rj.services.core/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.statet.rj.services.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.services.core;singleton:=true
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - R Services API and Tools - Core
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.statet.rj.data;bundle-version="[4.0.0,4.1.0)";visibility:=reexport
diff --git a/core/org.eclipse.statet.rj.services.core/pom.xml b/core/org.eclipse.statet.rj.services.core/pom.xml
new file mode 100644
index 0000000..8be106b
--- /dev/null
+++ b/core/org.eclipse.statet.rj.services.core/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj</groupId>
+		<artifactId>rj.core</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<artifactId>org.eclipse.statet.rj.services.core</artifactId>
+	<version>4.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.eclipse.statet.jcommons</groupId>
+			<artifactId>org.eclipse.statet.jcommons.util</artifactId>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.eclipse.statet.rj</groupId>
+			<artifactId>org.eclipse.statet.rj.data</artifactId>
+		</dependency>
+	</dependencies>
+	
+</project>
diff --git a/core/pom.xml b/core/pom.xml
new file mode 100644
index 0000000..7090fbc
--- /dev/null
+++ b/core/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet-rj</groupId>
+		<artifactId>root</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<groupId>org.eclipse.statet.rj</groupId>
+	<artifactId>rj.core</artifactId>
+	<packaging>pom</packaging>
+	
+	<modules>
+		<module>org.eclipse.statet.rj.data</module>
+		<module>org.eclipse.statet.rj.server</module>
+		<module>org.eclipse.statet.rj.server.remotetools</module>
+		<module>org.eclipse.statet.rj.server.rpkg</module>
+		<module>org.eclipse.statet.rj.services.core</module>
+		<module>org.eclipse.statet.rj.client</module>
+		
+		<module>org.eclipse.statet.rj.core</module>
+		<module>_assemblies</module>
+		
+	</modules>
+	
+</project>
diff --git a/eclient/_build/org.eclipse.statet.rj.eclient-feature/.project b/eclient/_assemblies/org.eclipse.statet.rj.eclient-feature/.project
similarity index 100%
rename from eclient/_build/org.eclipse.statet.rj.eclient-feature/.project
rename to eclient/_assemblies/org.eclipse.statet.rj.eclient-feature/.project
diff --git a/eclient/_build/org.eclipse.statet.rj.eclient-feature/build.properties b/eclient/_assemblies/org.eclipse.statet.rj.eclient-feature/build.properties
similarity index 100%
rename from eclient/_build/org.eclipse.statet.rj.eclient-feature/build.properties
rename to eclient/_assemblies/org.eclipse.statet.rj.eclient-feature/build.properties
diff --git a/eclient/_build/org.eclipse.statet.rj.eclient-feature/feature.properties b/eclient/_assemblies/org.eclipse.statet.rj.eclient-feature/feature.properties
similarity index 100%
rename from eclient/_build/org.eclipse.statet.rj.eclient-feature/feature.properties
rename to eclient/_assemblies/org.eclipse.statet.rj.eclient-feature/feature.properties
diff --git a/eclient/_build/org.eclipse.statet.rj.eclient-feature/feature.xml b/eclient/_assemblies/org.eclipse.statet.rj.eclient-feature/feature.xml
similarity index 80%
rename from eclient/_build/org.eclipse.statet.rj.eclient-feature/feature.xml
rename to eclient/_assemblies/org.eclipse.statet.rj.eclient-feature/feature.xml
index f943b72..31d674a 100644
--- a/eclient/_build/org.eclipse.statet.rj.eclient-feature/feature.xml
+++ b/eclient/_assemblies/org.eclipse.statet.rj.eclient-feature/feature.xml
@@ -3,9 +3,9 @@
       id="org.eclipse.statet.rj.eclient"
       version="4.0.0.qualifier"
       label="StatET RJ - Eclipse Client"
-      provider-name="Eclipse.org"
+      provider-name="Eclipse StatET"
       license-feature="org.eclipse.license"
-      license-feature-version="1.0.1">
+      license-feature-version="0.0.0">
 
    <description url="https://www.eclipse.org/statet">
       Client of high-level Java-R library RJ for projects based on the Eclipse Workbench
@@ -15,13 +15,12 @@
       Copyright (c) 2003, 2018 Stephan Wahlbrink and others. All rights reserved.
    </copyright>
 
-   <license url="%license_url">
-      %license_text
+   <license url="%licenseURL">
+      %license
    </license>
 
    <requires>
       <import feature="org.eclipse.statet.rj.core" version="4.0.0" match="equivalent"/>
-      <import feature="org.eclipse.statet.ecommons.e" version="4.0.0" match="compatible"/>
    </requires>
 
    <plugin
@@ -30,21 +29,28 @@
          install-size="0"
          version="0.0.0"
          unpack="false"/>
-
+   
    <plugin
          id="org.eclipse.statet.rj.client"
          download-size="0"
          install-size="0"
          version="0.0.0"
          unpack="false"/>
-
+   
    <plugin
          id="org.eclipse.statet.rj.eclient"
          download-size="0"
          install-size="0"
          version="0.0.0"
          unpack="false"/>
-
+   
+   <plugin
+         id="org.eclipse.statet.rj.eclient.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+   
    <plugin
          id="org.eclipse.statet.rj.eclient.graphics"
          download-size="0"
diff --git a/eclient/_assemblies/pom.xml b/eclient/_assemblies/pom.xml
new file mode 100644
index 0000000..c6a7533
--- /dev/null
+++ b/eclient/_assemblies/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj</groupId>
+		<artifactId>rj.eclient</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<groupId>org.eclipse.statet.rj-assemblies</groupId>
+	<artifactId>rj.eclient</artifactId>
+	<packaging>pom</packaging>
+	
+	<modules>
+		<module>org.eclipse.statet.rj.eclient-feature</module>
+		
+	</modules>
+	
+</project>
diff --git a/eclient/org.eclipse.statet.rj.eclient.core/.gitignore b/eclient/org.eclipse.statet.rj.eclient.core/.gitignore
index 5e56e04..09e3bc9 100644
--- a/eclient/org.eclipse.statet.rj.eclient.core/.gitignore
+++ b/eclient/org.eclipse.statet.rj.eclient.core/.gitignore
@@ -1 +1,2 @@
-/bin
+/bin/
+/target/
diff --git a/eclient/org.eclipse.statet.rj.eclient.core/.settings/org.eclipse.core.resources.prefs b/eclient/org.eclipse.statet.rj.eclient.core/.settings/org.eclipse.core.resources.prefs
index 95ae74d..99f26c0 100644
--- a/eclient/org.eclipse.statet.rj.eclient.core/.settings/org.eclipse.core.resources.prefs
+++ b/eclient/org.eclipse.statet.rj.eclient.core/.settings/org.eclipse.core.resources.prefs
@@ -1,3 +1,2 @@
 eclipse.preferences.version=1
 encoding/<project>=UTF-8
-encoding/about.ini=ISO-8859-1
diff --git a/eclient/org.eclipse.statet.rj.eclient.core/META-INF/MANIFEST.MF b/eclient/org.eclipse.statet.rj.eclient.core/META-INF/MANIFEST.MF
index 9cbded4..77b7045 100644
--- a/eclient/org.eclipse.statet.rj.eclient.core/META-INF/MANIFEST.MF
+++ b/eclient/org.eclipse.statet.rj.eclient.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.eclient.core;singleton:=true
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - Eclipse Client - Core
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/eclient/org.eclipse.statet.rj.eclient.core/about.html b/eclient/org.eclipse.statet.rj.eclient.core/about.html
index 7206cec..e71ae66 100644
--- a/eclient/org.eclipse.statet.rj.eclient.core/about.html
+++ b/eclient/org.eclipse.statet.rj.eclient.core/about.html
@@ -15,9 +15,10 @@
 	The Eclipse Foundation makes available all content in this plug-in
 	(&quot;Content&quot;). Unless otherwise indicated below, the Content
 	is provided to you under the terms and conditions of the Eclipse
-	Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
-	available at <a href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-2.0</a>.
+	Public License Version 2.0 (&quot;EPL&quot;), or the Apache License,
+	Version 2.0 (AL). A copy of the EPL is available at <a href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-2.0</a>.
 	For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	A copy of the AL is available at <a href="https://www.apache.org/licenses/LICENSE-2.0">https://www.apache.org/licenses/LICENSE-2.0</a>.
 </p>
 
 <p>
@@ -27,8 +28,8 @@
 	apply to your use of any object code in the Content. Check the
 	Redistributor's license that was provided with the Content. If no such
 	license exists, contact the Redistributor. Unless otherwise indicated
-	below, the terms and conditions of the EPL still apply to any source
-	code in the Content and such source code may be obtained at <a
+	below, the terms and conditions of the EPL or AL still apply to any
+	source code in the Content and such source code may be obtained at <a
 	href="https://www.eclipse.org/">https://www.eclipse.org</a>.
 </p>
 
diff --git a/eclient/org.eclipse.statet.rj.eclient.core/build.properties b/eclient/org.eclipse.statet.rj.eclient.core/build.properties
index f2fc164..748e671 100644
--- a/eclient/org.eclipse.statet.rj.eclient.core/build.properties
+++ b/eclient/org.eclipse.statet.rj.eclient.core/build.properties
@@ -5,7 +5,5 @@
 bin.includes= META-INF/,\
               plugin.xml,\
               .,\
-              about.html,\
-              about.ini,\
-              rj32.png
+              about.html
 src.includes= .settings/org.eclipse.core.resources.prefs
diff --git a/eclient/org.eclipse.statet.rj.eclient.graphics/.gitignore b/eclient/org.eclipse.statet.rj.eclient.graphics/.gitignore
index 5e56e04..09e3bc9 100644
--- a/eclient/org.eclipse.statet.rj.eclient.graphics/.gitignore
+++ b/eclient/org.eclipse.statet.rj.eclient.graphics/.gitignore
@@ -1 +1,2 @@
-/bin
+/bin/
+/target/
diff --git a/eclient/org.eclipse.statet.rj.eclient.graphics/META-INF/MANIFEST.MF b/eclient/org.eclipse.statet.rj.eclient.graphics/META-INF/MANIFEST.MF
index 68a8211..0ee4e93 100644
--- a/eclient/org.eclipse.statet.rj.eclient.graphics/META-INF/MANIFEST.MF
+++ b/eclient/org.eclipse.statet.rj.eclient.graphics/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.eclient.graphics;singleton:=true
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - Eclipse Client - R Graphics
 Bundle-ActivationPolicy: lazy
 Bundle-Activator: org.eclipse.statet.internal.rj.eclient.graphics.RGraphicsPlugin
diff --git a/eclient/org.eclipse.statet.rj.eclient.graphics/about.html b/eclient/org.eclipse.statet.rj.eclient.graphics/about.html
index 7206cec..e71ae66 100644
--- a/eclient/org.eclipse.statet.rj.eclient.graphics/about.html
+++ b/eclient/org.eclipse.statet.rj.eclient.graphics/about.html
@@ -15,9 +15,10 @@
 	The Eclipse Foundation makes available all content in this plug-in
 	(&quot;Content&quot;). Unless otherwise indicated below, the Content
 	is provided to you under the terms and conditions of the Eclipse
-	Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
-	available at <a href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-2.0</a>.
+	Public License Version 2.0 (&quot;EPL&quot;), or the Apache License,
+	Version 2.0 (AL). A copy of the EPL is available at <a href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-2.0</a>.
 	For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	A copy of the AL is available at <a href="https://www.apache.org/licenses/LICENSE-2.0">https://www.apache.org/licenses/LICENSE-2.0</a>.
 </p>
 
 <p>
@@ -27,8 +28,8 @@
 	apply to your use of any object code in the Content. Check the
 	Redistributor's license that was provided with the Content. If no such
 	license exists, contact the Redistributor. Unless otherwise indicated
-	below, the terms and conditions of the EPL still apply to any source
-	code in the Content and such source code may be obtained at <a
+	below, the terms and conditions of the EPL or AL still apply to any
+	source code in the Content and such source code may be obtained at <a
 	href="https://www.eclipse.org/">https://www.eclipse.org</a>.
 </p>
 
diff --git a/eclient/org.eclipse.statet.rj.eclient/.gitignore b/eclient/org.eclipse.statet.rj.eclient/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/eclient/org.eclipse.statet.rj.eclient/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/eclient/org.eclipse.statet.rj.eclient/.project b/eclient/org.eclipse.statet.rj.eclient/.project
new file mode 100644
index 0000000..17eda7b
--- /dev/null
+++ b/eclient/org.eclipse.statet.rj.eclient/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.statet.rj.eclient</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/eclient/org.eclipse.statet.rj.eclient/.settings/org.eclipse.core.resources.prefs b/eclient/org.eclipse.statet.rj.eclient/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..95ae74d
--- /dev/null
+++ b/eclient/org.eclipse.statet.rj.eclient/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
+encoding/about.ini=ISO-8859-1
diff --git a/eclient/org.eclipse.statet.rj.eclient/.settings/org.eclipse.core.runtime.prefs b/eclient/org.eclipse.statet.rj.eclient/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/eclient/org.eclipse.statet.rj.eclient/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/eclient/org.eclipse.statet.rj.eclient/META-INF/MANIFEST.MF b/eclient/org.eclipse.statet.rj.eclient/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e57fe72
--- /dev/null
+++ b/eclient/org.eclipse.statet.rj.eclient/META-INF/MANIFEST.MF
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.statet.rj.eclient;singleton:=true
+Bundle-Version: 4.0.0.qualifier
+Bundle-Vendor: Eclipse StatET
+Bundle-Name: StatET RJ - Eclipse Client
diff --git a/core/_build/org.eclipse.statet.rj.core/about.html b/eclient/org.eclipse.statet.rj.eclient/about.html
similarity index 100%
copy from core/_build/org.eclipse.statet.rj.core/about.html
copy to eclient/org.eclipse.statet.rj.eclient/about.html
diff --git a/eclient/org.eclipse.statet.rj.eclient.core/about.ini b/eclient/org.eclipse.statet.rj.eclient/about.ini
similarity index 80%
rename from eclient/org.eclipse.statet.rj.eclient.core/about.ini
rename to eclient/org.eclipse.statet.rj.eclient/about.ini
index 9006281..4358dcc 100644
--- a/eclient/org.eclipse.statet.rj.eclient.core/about.ini
+++ b/eclient/org.eclipse.statet.rj.eclient/about.ini
@@ -1,6 +1,6 @@
 featureImage= rj32.png
 aboutText= \
-StatET RJ - Eclipse Client\n\
+Eclipse StatET RJ - Eclipse Client\n\
 \n\
 Copyright (c) 2003, 2018 Stephan Wahlbrink and others. All rights reserved.\n\
 Visit https://www.eclipse.org/statet\n\
diff --git a/core/_build/org.eclipse.statet.rj.core/build.properties b/eclient/org.eclipse.statet.rj.eclient/build.properties
similarity index 100%
copy from core/_build/org.eclipse.statet.rj.core/build.properties
copy to eclient/org.eclipse.statet.rj.eclient/build.properties
diff --git a/eclient/org.eclipse.statet.rj.eclient.core/rj32.png b/eclient/org.eclipse.statet.rj.eclient/rj32.png
similarity index 100%
rename from eclient/org.eclipse.statet.rj.eclient.core/rj32.png
rename to eclient/org.eclipse.statet.rj.eclient/rj32.png
Binary files differ
diff --git a/eclient/pom.xml b/eclient/pom.xml
new file mode 100644
index 0000000..0613a53
--- /dev/null
+++ b/eclient/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet-rj</groupId>
+		<artifactId>root</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<groupId>org.eclipse.statet.rj</groupId>
+	<artifactId>rj.eclient</artifactId>
+	<packaging>pom</packaging>
+	
+	<modules>
+		<module>org.eclipse.statet.rj.eclient.core</module>
+		<module>org.eclipse.statet.rj.eclient.graphics</module>
+		
+		<module>org.eclipse.statet.rj.eclient</module>
+		<module>_assemblies</module>
+		
+	</modules>
+	
+</project>
diff --git a/examples/_releng/rcpdemo2/feature/.project b/examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-feature/.project
similarity index 100%
rename from examples/_releng/rcpdemo2/feature/.project
rename to examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-feature/.project
diff --git a/examples/_releng/rcpdemo2/feature/build.properties b/examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-feature/build.properties
similarity index 100%
rename from examples/_releng/rcpdemo2/feature/build.properties
rename to examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-feature/build.properties
diff --git a/examples/_releng/rcpdemo2/feature/feature.properties b/examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-feature/feature.properties
similarity index 100%
rename from examples/_releng/rcpdemo2/feature/feature.properties
rename to examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-feature/feature.properties
diff --git a/examples/_releng/rcpdemo2/feature/feature.xml b/examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-feature/feature.xml
similarity index 84%
rename from examples/_releng/rcpdemo2/feature/feature.xml
rename to examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-feature/feature.xml
index 4ddbbfd..9848c0a 100644
--- a/examples/_releng/rcpdemo2/feature/feature.xml
+++ b/examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-feature/feature.xml
@@ -3,11 +3,11 @@
       id="org.eclipse.statet.rj.example.rcpdemo2"
       version="4.0.0.qualifier"
       label="StatET RJ - RCP Demo 2"
-      provider-name="Eclipse.org"
+      provider-name="Eclipse StatET"
       license-feature="org.eclipse.license"
-      license-feature-version="2.0.2">
+      license-feature-version="0.0.0">
 
-   <description url="http://www.eclipse.org/statet">
+   <description url="https://www.eclipse.org/statet">
       RCP App using StatET RJ
    </description>
 
diff --git a/examples/_releng/rcpdemo2/product/.project b/examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-product/.project
similarity index 100%
rename from examples/_releng/rcpdemo2/product/.project
rename to examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-product/.project
diff --git a/examples/_releng/rcpdemo2/product/build.properties b/examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-product/build.properties
similarity index 100%
rename from examples/_releng/rcpdemo2/product/build.properties
rename to examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-product/build.properties
diff --git a/examples/_releng/rcpdemo2/product/rcpdemo.product b/examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-product/rcpdemo.product
similarity index 100%
rename from examples/_releng/rcpdemo2/product/rcpdemo.product
rename to examples/_assemblies/org.eclipse.statet.rj.example.rcpdemo2-product/rcpdemo.product
diff --git a/examples/_assemblies/pom.xml b/examples/_assemblies/pom.xml
new file mode 100644
index 0000000..10aafb9
--- /dev/null
+++ b/examples/_assemblies/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj</groupId>
+		<artifactId>rj.examples</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<groupId>org.eclipse.statet.rj-assemblies</groupId>
+	<artifactId>rj.examples</artifactId>
+	<packaging>pom</packaging>
+	
+	<modules>
+		<module>org.eclipse.statet.rj.example.rcpdemo2-feature</module>
+		<module>org.eclipse.statet.rj.example.rcpdemo2-product</module>
+		
+	</modules>
+	
+</project>
diff --git a/examples/org.eclipse.statet.rj.example.demo/.gitignore b/examples/org.eclipse.statet.rj.example.demo/.gitignore
index 5e56e04..09e3bc9 100644
--- a/examples/org.eclipse.statet.rj.example.demo/.gitignore
+++ b/examples/org.eclipse.statet.rj.example.demo/.gitignore
@@ -1 +1,2 @@
-/bin
+/bin/
+/target/
diff --git a/examples/org.eclipse.statet.rj.example.demo/META-INF/MANIFEST.MF b/examples/org.eclipse.statet.rj.example.demo/META-INF/MANIFEST.MF
index 4f4d9ab..e368f82 100644
--- a/examples/org.eclipse.statet.rj.example.demo/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.statet.rj.example.demo/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.example.demo
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - RServi Demo
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.statet.rj.data;bundle-version="[4.0.0,4.1.0)",
diff --git a/examples/org.eclipse.statet.rj.example.rcpdemo1/.gitignore b/examples/org.eclipse.statet.rj.example.rcpdemo1/.gitignore
index 5e56e04..09e3bc9 100644
--- a/examples/org.eclipse.statet.rj.example.rcpdemo1/.gitignore
+++ b/examples/org.eclipse.statet.rj.example.rcpdemo1/.gitignore
@@ -1 +1,2 @@
-/bin
+/bin/
+/target/
diff --git a/examples/org.eclipse.statet.rj.example.rcpdemo1/META-INF/MANIFEST.MF b/examples/org.eclipse.statet.rj.example.rcpdemo1/META-INF/MANIFEST.MF
index 4e5857a..7fda1de 100644
--- a/examples/org.eclipse.statet.rj.example.rcpdemo1/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.statet.rj.example.rcpdemo1/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.example.rcpdemo1;singleton:=true
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - RServi RCP Demo 1
 Bundle-Activator: org.eclipse.statet.internal.rj.example.rcpdemo.Activator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.statet.rj.example.rcpdemo2/.gitignore b/examples/org.eclipse.statet.rj.example.rcpdemo2/.gitignore
index 5e56e04..09e3bc9 100644
--- a/examples/org.eclipse.statet.rj.example.rcpdemo2/.gitignore
+++ b/examples/org.eclipse.statet.rj.example.rcpdemo2/.gitignore
@@ -1 +1,2 @@
-/bin
+/bin/
+/target/
diff --git a/examples/org.eclipse.statet.rj.example.rcpdemo2/META-INF/MANIFEST.MF b/examples/org.eclipse.statet.rj.example.rcpdemo2/META-INF/MANIFEST.MF
index cc1231f..02f474a 100644
--- a/examples/org.eclipse.statet.rj.example.rcpdemo2/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.statet.rj.example.rcpdemo2/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.example.rcpdemo2;singleton:=true
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - RServi RCP Demo 2
 Bundle-Activator: org.eclipse.statet.internal.rj.example.rcpdemo.Activator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/pom.xml b/examples/pom.xml
new file mode 100644
index 0000000..0c613ec
--- /dev/null
+++ b/examples/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet-rj</groupId>
+		<artifactId>root</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<groupId>org.eclipse.statet.rj</groupId>
+	<artifactId>rj.examples</artifactId>
+	<packaging>pom</packaging>
+	
+	<modules>
+		<module>org.eclipse.statet.rj.example.demo</module>
+		<module>org.eclipse.statet.rj.example.rcpdemo1</module>
+		<module>org.eclipse.statet.rj.example.rcpdemo2</module>
+		
+		<module>_assemblies</module>
+		
+	</modules>
+	
+</project>
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..23e0163
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+		<parent>
+		<groupId>org.eclipse.statet-releng</groupId>
+		<artifactId>parent</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+		<relativePath>../org.eclipse.statet/releng/</relativePath>
+	</parent>
+	
+	<groupId>org.eclipse.statet-rj</groupId>
+	<artifactId>root</artifactId>
+	<version>4.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
+	
+	<properties>
+		<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/statet/org.eclipse.statet-rj.git</tycho.scmUrl>
+	</properties>
+	
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho.extras</groupId>
+				<artifactId>tycho-source-feature-plugin</artifactId>
+				<configuration>
+					<excludes>
+						<plugin id="org.eclipse.statet.rj.core"/>
+						<plugin id="org.eclipse.statet.rj.eclient"/>
+					</excludes>
+				</configuration>
+			</plugin>
+		</plugins>
+		
+	</build>
+	
+	<modules>
+		<module>core</module>
+		
+		<module>servi</module>
+		<module>eclient</module>
+		
+		<module>examples</module>
+		
+	</modules>
+	
+</project>
diff --git a/servi/_build/org.eclipse.statet.rj.servi.e-feature/.project b/servi/_assemblies/org.eclipse.statet.rj.servi.e-feature/.project
similarity index 100%
rename from servi/_build/org.eclipse.statet.rj.servi.e-feature/.project
rename to servi/_assemblies/org.eclipse.statet.rj.servi.e-feature/.project
diff --git a/servi/_build/org.eclipse.statet.rj.servi.e-feature/build.properties b/servi/_assemblies/org.eclipse.statet.rj.servi.e-feature/build.properties
similarity index 100%
rename from servi/_build/org.eclipse.statet.rj.servi.e-feature/build.properties
rename to servi/_assemblies/org.eclipse.statet.rj.servi.e-feature/build.properties
diff --git a/servi/_build/org.eclipse.statet.rj.servi.e-feature/feature.properties b/servi/_assemblies/org.eclipse.statet.rj.servi.e-feature/feature.properties
similarity index 100%
rename from servi/_build/org.eclipse.statet.rj.servi.e-feature/feature.properties
rename to servi/_assemblies/org.eclipse.statet.rj.servi.e-feature/feature.properties
diff --git a/servi/_build/org.eclipse.statet.rj.servi.e-feature/feature.xml b/servi/_assemblies/org.eclipse.statet.rj.servi.e-feature/feature.xml
similarity index 68%
rename from servi/_build/org.eclipse.statet.rj.servi.e-feature/feature.xml
rename to servi/_assemblies/org.eclipse.statet.rj.servi.e-feature/feature.xml
index 97ccd75..3543ac0 100644
--- a/servi/_build/org.eclipse.statet.rj.servi.e-feature/feature.xml
+++ b/servi/_assemblies/org.eclipse.statet.rj.servi.e-feature/feature.xml
@@ -3,9 +3,9 @@
       id="org.eclipse.statet.rj.servi.e"
       version="4.0.0.qualifier"
       label="StatET RJ - RServi E-Compilation"
-      provider-name="Eclipse.org"
+      provider-name="Eclipse StatET"
       license-feature="org.eclipse.license"
-      license-feature-version="1.0.1">
+      license-feature-version="0.0.0">
 
    <description url="https://www.eclipse.org/statet">
       Compilation for RServi for projects based on the Eclipse Workbench
@@ -15,17 +15,13 @@
       Copyright (c) 2003, 2018 Stephan Wahlbrink and others. All rights reserved.
    </copyright>
 
-   <license url="%license_url">
-      %license_text
+   <license url="%licenseURL">
+      %license
    </license>
 
-   <includes
-         id="org.eclipse.statet.rj.core"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.statet.rj.eclient.core"
-         version="0.0.0"/>
+   <requires>
+      <import feature="org.eclipse.statet.rj.eclient" version="4.0.0" match="equivalent"/>
+   </requires>
 
    <plugin
          id="org.eclipse.statet.rj.servi"
diff --git a/servi/_assemblies/pom.xml b/servi/_assemblies/pom.xml
new file mode 100644
index 0000000..1093871
--- /dev/null
+++ b/servi/_assemblies/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj</groupId>
+		<artifactId>rj.servi</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<groupId>org.eclipse.statet.rj-assemblies</groupId>
+	<artifactId>rj.servi</artifactId>
+	<packaging>pom</packaging>
+	
+	<modules>
+		<module>org.eclipse.statet.rj.servi.e-feature</module>
+		
+		<module>repository</module>
+		
+	</modules>
+	
+</project>
diff --git a/servi/_assemblies/repository/category.xml b/servi/_assemblies/repository/category.xml
new file mode 100644
index 0000000..23cb0eb
--- /dev/null
+++ b/servi/_assemblies/repository/category.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+	<category-def name="org.eclipse.statet.libs" label="StatET - Libraries"/>
+	<category-def name="org.eclipse.statet.sources" label="StatET - Sources"/>
+	
+	<bundle id="org.eclipse.statet.jcommons.util" version="0.0.0">
+		<category name="org.eclipse.statet.libs"/>
+	</bundle>
+	<bundle id="org.eclipse.statet.jcommons.util.source" version="0.0.0">
+		<category name="org.eclipse.statet.sources"/>
+	</bundle>
+	<bundle id="org.eclipse.statet.ecommons.coremisc" version="0.0.0">
+		<category name="org.eclipse.statet.libs"/>
+	</bundle>
+	<bundle id="org.eclipse.statet.ecommons.coremisc.source" version="0.0.0">
+		<category name="org.eclipse.statet.sources"/>
+	</bundle>
+	<bundle id="org.eclipse.statet.ecommons.uimisc" version="0.0.0">
+		<category name="org.eclipse.statet.libs"/>
+	</bundle>
+	<bundle id="org.eclipse.statet.ecommons.uimisc.source" version="0.0.0">
+		<category name="org.eclipse.statet.sources"/>
+	</bundle>
+	
+	<feature id="org.eclipse.statet.rj.core" version="0.0.0">
+		<category name="org.eclipse.statet.libs"/>
+	</feature>
+	<feature id="org.eclipse.statet.rj.core.source" version="0.0.0">
+		<category name="org.eclipse.statet.sources"/>
+	</feature>
+	<feature id="org.eclipse.statet.rj.eclient" version="0.0.0">
+		<category name="org.eclipse.statet.libs"/>
+	</feature>
+	<feature id="org.eclipse.statet.rj.eclient.source" version="0.0.0">
+		<category name="org.eclipse.statet.sources"/>
+	</feature>
+	
+	<feature id="org.eclipse.statet.rj.servi.e" version="0.0.0">
+		<category name="org.eclipse.statet.libs"/>
+	</feature>
+	<feature id="org.eclipse.statet.rj.servi.e.source" version="0.0.0">
+		<category name="org.eclipse.statet.sources"/>
+	</feature>
+	
+</site>
diff --git a/servi/_assemblies/repository/pom.xml b/servi/_assemblies/repository/pom.xml
new file mode 100644
index 0000000..b9b79b4
--- /dev/null
+++ b/servi/_assemblies/repository/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj-assemblies</groupId>
+		<artifactId>rj.servi</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<artifactId>org.eclipse.statet.rj.servi.repository</artifactId>
+	<packaging>eclipse-repository</packaging>
+	<name>Eclipse StatET RJ - RServi</name>
+	
+</project>
diff --git a/servi/_build/org.eclipse.statet.rj.servi-devbundle/democlient/startup.bat b/servi/_build/org.eclipse.statet.rj.servi-devbundle/democlient/startup.bat
deleted file mode 100644
index d4fcf7d..0000000
--- a/servi/_build/org.eclipse.statet.rj.servi-devbundle/democlient/startup.bat
+++ /dev/null
@@ -1 +0,0 @@
-java -cp "*" org.eclipse.statet.rj.servi.demo.DemoApp

diff --git a/servi/_build/org.eclipse.statet.rj.servi-devbundle/devbundle.xml b/servi/_build/org.eclipse.statet.rj.servi-devbundle/devbundle.xml
deleted file mode 100644
index 45ad5b0..0000000
--- a/servi/_build/org.eclipse.statet.rj.servi-devbundle/devbundle.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
-	<id>distr</id>
-	
-	<formats>
-		<format>zip</format>
-	</formats>
-	
-	<includeBaseDirectory>false</includeBaseDirectory>
-	<files>
-		<file>
-			<source>info.txt</source>
-		</file>
-	</files>
-	<fileSets>
-		<fileSet>
-			<directory>/</directory>
-			<includes>
-				<include>info.txt</include>
-				<include>democlient/**</include>
-				<include>sprojects/**</include>
-				<include>eprojects/**</include>
-			</includes>
-		</fileSet>
-	</fileSets>
-	
-	<dependencySets>
-		
-		<dependencySet>
-			<outputDirectory>rservi</outputDirectory>
-			<useTransitiveDependencies>false</useTransitiveDependencies>
-			<includes>
-				<include>org.eclipse.statet.rj:org.eclipse.statet.rj.servi.webapp</include>
-			</includes>
-			<unpack>true</unpack>
-		</dependencySet>
-		
-		<dependencySet>
-			<outputDirectory>democlient</outputDirectory>
-			<useTransitiveDependencies>false</useTransitiveDependencies>
-			<includes>
-				<include>org.eclipse.statet.rj:org.eclipse.statet.rj.data</include>
-				<include>org.eclipse.statet.rj:org.eclipse.statet.rj.server</include>
-				<include>org.eclipse.statet.rj:org.eclipse.statet.rj.client</include>
-				<include>org.eclipse.statet.rj:org.eclipse.statet.rj.services.eruntime</include>
-				<include>org.eclipse.statet.rj:org.eclipse.statet.rj.servi</include>
-				<include>org.eclipse.statet.rj:org.eclipse.statet.rj.servi.demo</include>
-				<!-- +SWT ? -->
-			</includes>
-			<outputFileNameMapping>${artifact.artifactId}_${artifact.version}.${artifact.extension}</outputFileNameMapping>
-		</dependencySet>
-		
-		<dependencySet>
-			<outputDirectory>sprojects</outputDirectory>
-			<useTransitiveDependencies>false</useTransitiveDependencies>
-			<includes>
-				<include>org.eclipse.statet.rj:rj-core</include>
-				<include>org.eclipse.statet.rj:rj-client</include>
-				<include>org.eclipse.statet.rj:rj-servi</include>
-				<!-- +SWT ? -->
-			</includes>
-			<unpack>true</unpack>
-			<unpackOptions>
-				<includes>
-					<include>org.eclipse.statet.rj.data/**</include>
-					<include>org.eclipse.statet.rj.server/**</include>
-					<include>org.eclipse.statet.rj.client/**</include>
-					<include>org.eclipse.statet.rj.services.eruntime/**</include>
-					<include>org.eclipse.statet.rj.servi/**</include>
-					<include>org.eclipse.statet.rj.servi.webapp/**</include>
-					<include>org.eclipse.statet.rj.servi.demo/**</include>
-				</includes>
-			</unpackOptions>
-		</dependencySet>
-		
-		<dependencySet>
-			<outputDirectory>eprojects</outputDirectory>
-			<useTransitiveDependencies>false</useTransitiveDependencies>
-			<includes>
-				<include>org.eclipse.statet.rj:rj-servi</include>
-			</includes>
-			<unpack>true</unpack>
-			<unpackOptions>
-				<includes>
-					<include>org.eclipse.statet.rj.servi.rcpdemo/**</include>
-					<include>org.eclipse.statet.rj.servi.rcpdemo2/**</include>
-				</includes>
-			</unpackOptions>
-		</dependencySet>
-		<dependencySet>
-			<outputDirectory>eprojects/org.eclipse.statet.rj.devbundle/libs</outputDirectory>
-			<useTransitiveDependencies>false</useTransitiveDependencies>
-			<includes>
-				<include>org.eclipse.statet.rj-packaging:org.eclipse.statet.rj.servi-repo</include>
-			</includes>
-			<unpack>true</unpack>
-		</dependencySet>
-		
-	</dependencySets>
-	
-</assembly>
diff --git a/servi/_build/org.eclipse.statet.rj.servi-devbundle/eprojects/org.eclipse.statet.rj.devbundle/.project b/servi/_build/org.eclipse.statet.rj.servi-devbundle/eprojects/org.eclipse.statet.rj.devbundle/.project
deleted file mode 100644
index 00cd555..0000000
--- a/servi/_build/org.eclipse.statet.rj.servi-devbundle/eprojects/org.eclipse.statet.rj.devbundle/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.statet.rj.devbundle</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/servi/_build/org.eclipse.statet.rj.servi-devbundle/eprojects/org.eclipse.statet.rj.devbundle/rcp-rj.source.target b/servi/_build/org.eclipse.statet.rj.servi-devbundle/eprojects/org.eclipse.statet.rj.devbundle/rcp-rj.source.target
deleted file mode 100644
index 184170f..0000000
--- a/servi/_build/org.eclipse.statet.rj.servi-devbundle/eprojects/org.eclipse.statet.rj.devbundle/rcp-rj.source.target
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.6"?>
-
-<target name="Base RCP with RServices (with Sources)">
-	<locations>
-		<location id="org.eclipse.rcp" path="${eclipse_home}" type="Feature"/>
-		<location includeAllPlatforms="false" includeMode="planner" includeConfigurePhase="false"
-				type="InstallableUnit">
-			<repository location="platform:/resource/org.eclipse.statet.rj.devbundle/libs/"/>
-			<unit id="org.eclipse.statet.rj.servi.e.sdk.feature.group" version="0.0.0"/>
-		</location>
-	</locations>
-</target>
diff --git a/servi/_build/org.eclipse.statet.rj.servi-devbundle/eprojects/org.eclipse.statet.rj.devbundle/rcp-rj.target b/servi/_build/org.eclipse.statet.rj.servi-devbundle/eprojects/org.eclipse.statet.rj.devbundle/rcp-rj.target
deleted file mode 100644
index 28e6db5..0000000
--- a/servi/_build/org.eclipse.statet.rj.servi-devbundle/eprojects/org.eclipse.statet.rj.devbundle/rcp-rj.target
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.6"?>
-
-<target name="Base RCP with RServices (Binary only)">
-	<locations>
-		<location id="org.eclipse.rcp" path="${eclipse_home}" type="Feature"/>
-		<location includeAllPlatforms="false" includeMode="planner" includeConfigurePhase="false"
-				type="InstallableUnit">
-			<repository location="platform:/resource/org.eclipse.statet.rj.devbundle/libs/"/>
-			<unit id="org.eclipse.statet.rj.servi.e.feature.group" version="0.0.0"/>
-		</location>
-	</locations>
-</target>
diff --git a/servi/_build/org.eclipse.statet.rj.servi-devbundle/info.txt b/servi/_build/org.eclipse.statet.rj.servi-devbundle/info.txt
deleted file mode 100644
index 84b367f..0000000
--- a/servi/_build/org.eclipse.statet.rj.servi-devbundle/info.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-(RJ) RServi Development Bundle
-
-== Requirement for all RJ setups ==
-
-The R packages 'rj' and 'rj.gd' (for graphics) must be installed in an R library.
-
-
-== Content ==
-
-rservi/
-  (rservi web application)
-  Web application providing an RServi pool configurable via web and or JMX.
-  The pool id is the web context name (so by default rservi).
-  
-  To start the pool using Tomcat:
-   1. Put it into the 'webapps' directory of Tomcat
-   2. Start Tomcat
-   3. Open the configuration interface in a browser:
-          http://localhost:8080/rservi
-  
-  The WEB-INF/lib folder can be used also for the standalone server
-  providing an RServi pool configurable via JMX:
-     java -cp "*" org.eclipse.statet.rj.servi.pool.StandalonePoolServer <id>
-  See also the JavaDoc of org.eclipse.statet.rj.servi.pool.StandalonePoolServer.
-
-democlient/
-  (demo client)
-  Binaries of a small demo client to connect to an RServi pool
-  
-   1. Copy the SWT bundles for your platform into the directory.
-   2. To start the client run:
-          java -cp "*" org.eclipse.statet.rj.servi.demo.DemoApp
-
-sprojects/
-  (source snapshot / webapp+democlient projects)
-  Eclipse projects with all sources of the web application and demo client
-  above
-  
-   1. Import the projects using the import wizard 'Existing projects into
-      Workspace'
-   2. The rj.server project depends on the JRI API. Add the JRI library to the
-      build path, if required.
-  
-  To absolutely exclude all Eclipse dependencies, remove the source folders
-  named 'srcEExtensions' from the build-/class-path.
-
-eprojects/
-  (eclipse rcp projects)
-  Eclipse plug-ins (Osgi bundles) relevant for Eclipse RCP client development
-  and the Eclipse project of the RCP demo application
-  
-   1. Import the projects using the import wizard 'Existing projects into
-      Workspace'
-   2. Load the plug-in target definition 'rcp-rj.source.target' located in the project
-      'org.eclipse.statet.rj' project
diff --git a/servi/_build/org.eclipse.statet.rj.servi-devbundle/pom.xml b/servi/_build/org.eclipse.statet.rj.servi-devbundle/pom.xml
deleted file mode 100644
index 7907c9f..0000000
--- a/servi/_build/org.eclipse.statet.rj.servi-devbundle/pom.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<parent>
-		<groupId>org.eclipse.statet.rj</groupId>
-		<artifactId>rj-servi</artifactId>
-		<version>2.1-SNAPSHOT</version>
-	</parent>
-	
-	<groupId>org.eclipse.statet.rj-packaging</groupId>
-	<artifactId>org.eclipse.statet.rj.servi-devbundle</artifactId>
-	<version>2.1.0-SNAPSHOT</version>
-	<packaging>pom</packaging>
-	
-	<dependencies>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>rj-core</artifactId>
-			<version>2.1-SNAPSHOT</version>
-			<classifier>module-snapshot</classifier>
-			<type>zip</type>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>rj-client</artifactId>
-			<version>2.1-SNAPSHOT</version>
-			<classifier>module-snapshot</classifier>
-			<type>zip</type>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>rj-servi</artifactId>
-			<version>2.1-SNAPSHOT</version>
-			<classifier>module-snapshot</classifier>
-			<type>zip</type>
-		</dependency>
-		
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.data</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-			<type>eclipse-plugin</type>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.server</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-			<type>eclipse-plugin</type>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.client</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-			<type>eclipse-plugin</type>
-		</dependency>
-		
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.services.eruntime</artifactId>
-			<version>1.4.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.servi</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.servi.webapp</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-			<type>war</type>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj-packaging</groupId>
-			<artifactId>org.eclipse.statet.rj.servi-repo</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-			<type>eclipse-repository</type>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.servi.demo</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.servi.rcpdemo</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.servi.rcpdemo2</artifactId>
-			<version>2.1.0-SNAPSHOT</version>
-		</dependency>
-	</dependencies>
-	
-	<build>
-		<plugins>
-			<plugin>
-				<artifactId>maven-assembly-plugin</artifactId>
-				<version>2.4</version>
-				<executions>
-					<execution>
-						<id>pack-bundle</id>
-						<phase>package</phase>
-						<goals>
-							<goal>single</goal>
-						</goals>
-						<configuration>
-							<descriptors>
-								<descriptor>devbundle.xml</descriptor>
-							</descriptors>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-	
-</project>
diff --git a/servi/_build/repo/category.xml b/servi/_build/repo/category.xml
deleted file mode 100644
index 8f4ba9f..0000000
--- a/servi/_build/repo/category.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-	<category-def name="org.eclipse.statet.libs" label="StatET - Libraries"/>
-	<category-def name="org.eclipse.statet.sources" label="StatET - Sources"/>
-	
-	<feature id="org.eclipse.statet.ecommons.e" version="0.0.0">
-		<category name="org.eclipse.statet.libs"/>
-	</feature>
-	<feature id="org.eclipse.statet.ecommons.e.source" version="0.0.0">
-		<category name="org.eclipse.statet.sources"/>
-	</feature>
-	
-	<feature id="org.eclipse.statet.rj.core" version="0.0.0">
-		<category name="org.eclipse.statet.libs"/>
-	</feature>
-	<feature id="org.eclipse.statet.rj.core.source" version="0.0.0">
-		<category name="org.eclipse.statet.sources"/>
-	</feature>
-	<feature id="org.eclipse.statet.rj.eclient.core" version="0.0.0">
-		<category name="org.eclipse.statet.libs"/>
-	</feature>
-	<feature id="org.eclipse.statet.rj.eclient.core.source" version="0.0.0">
-		<category name="org.eclipse.statet.sources"/>
-	</feature>
-	
-	<feature id="org.eclipse.statet.rj.servi.e" version="0.0.0">
-		<category name="org.eclipse.statet.libs"/>
-	</feature>
-	<feature id="org.eclipse.statet.rj.servi.e.source" version="0.0.0">
-		<category name="org.eclipse.statet.sources"/>
-	</feature>
-	
-</site>
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.classpath b/servi/org.eclipse.statet.rj.servi.webapp/.classpath
index 7981dd0..f4e6ab2 100644
--- a/servi/org.eclipse.statet.rj.servi.webapp/.classpath
+++ b/servi/org.eclipse.statet.rj.servi.webapp/.classpath
@@ -2,28 +2,25 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
-			<attribute name="owner.project.facets" value="java"/>
+			<attribute name="maven.pomderived" value="true"/>
 			<attribute name="annotationpath" value="/org.eclipse.statet/eea/"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
-	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/tomcat-6">
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
 		<attributes>
-			<attribute name="owner.project.facets" value="jst.web"/>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="annotationpath" value="/org.eclipse.statet/eea/"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/jsf-1.2">
+	<classpathentry kind="src" path="src/main/java" output="target/classes">
 		<attributes>
-			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
-			<attribute name="owner.project.facets" value="jst.jsf"/>
+			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/jstl-1.2">
+	<classpathentry kind="src" path="src/main/resources" excluding="**" output="target/classes">
 		<attributes>
-			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
-			<attribute name="owner.project.facets" value="jst.jsf"/>
+			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.gitignore b/servi/org.eclipse.statet.rj.servi.webapp/.gitignore
index 3c43326..591b302 100644
--- a/servi/org.eclipse.statet.rj.servi.webapp/.gitignore
+++ b/servi/org.eclipse.statet.rj.servi.webapp/.gitignore
@@ -1,6 +1,5 @@
-/bin
 /target/
-/web/META-INF/
-/web/WEB-INF/*.properties
-/web/WEB-INF/*store
+/src/main/webapp/META-INF/
+/src/main/webapp/WEB-INF/*.properties
+/src/main/webapp/WEB-INF/*store
 *.cer
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.project b/servi/org.eclipse.statet.rj.servi.webapp/.project
index 25d9c38..130a1d6 100644
--- a/servi/org.eclipse.statet.rj.servi.webapp/.project
+++ b/servi/org.eclipse.statet.rj.servi.webapp/.project
@@ -3,35 +3,21 @@
 	<name>org.eclipse.statet.rj.servi.webapp</name>
 	<comment></comment>
 	<projects>
-		<project>org.eclipse.statet.jcommons.util</project>
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 	</buildSpec>
 	<natures>
-		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 	</natures>
 </projectDescription>
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.settings/.jsdtscope b/servi/org.eclipse.statet.rj.servi.webapp/.settings/.jsdtscope
deleted file mode 100644
index bbb8e68..0000000
--- a/servi/org.eclipse.statet.rj.servi.webapp/.settings/.jsdtscope
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
-		<attributes>
-			<attribute name="hide" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
-	<classpathentry kind="output" path=""/>
-</classpath>
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.settings/oracle.eclipse.tools.webtier.ui.prefs b/servi/org.eclipse.statet.rj.servi.webapp/.settings/oracle.eclipse.tools.webtier.ui.prefs
deleted file mode 100644
index 9b1426c..0000000
--- a/servi/org.eclipse.statet.rj.servi.webapp/.settings/oracle.eclipse.tools.webtier.ui.prefs
+++ /dev/null
@@ -1,20 +0,0 @@
-#Fri Jul 08 00:02:58 CEST 2011
-//_hiddenCategory_\:http\://java.sun.com/jsf/core=false
-//_hiddenCategory_\:http\://java.sun.com/jsf/html=false
-//_hiddenCategory_\:http\://java.sun.com/jsp/jstl/core=false
-//_hiddenCategory_\:http\://java.sun.com/jsp/jstl/fmt=false
-//_hiddenCategory_\:http\://java.sun.com/jsp/jstl/sql=false
-//_hiddenCategory_\:http\://java.sun.com/jsp/jstl/xml=false
-//_hiddenCategory_\:http\://java.sun.com/jstl/core=false
-//_hiddenCategory_\:http\://java.sun.com/jstl/core_rt=false
-//_hiddenCategory_\:http\://java.sun.com/jstl/fmt=false
-//_hiddenCategory_\:http\://java.sun.com/jstl/fmt_rt=false
-//_hiddenCategory_\:http\://java.sun.com/jstl/sql=false
-//_hiddenCategory_\:http\://java.sun.com/jstl/sql_rt=false
-//_hiddenCategory_\:http\://java.sun.com/jstl/xml=false
-//_hiddenCategory_\:http\://java.sun.com/jstl/xml_rt=false
-//_hiddenCategory_\:http\://mojarra.dev.java.net/mojarra_ext=true
-_hiddenCategory_\:DataPalette=false
-_hiddenCategory_\:HTML=false
-_hiddenCategory_\:JSP11=false
-eclipse.preferences.version=1
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.ltk.core.refactoring.prefs b/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index cc50da5..0000000
--- a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Jun 15 10:42:38 CEST 2009
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.component b/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.component
index f86825d..bd38b45 100644
--- a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.component
+++ b/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.component
@@ -1,11 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">

     <wb-module deploy-name="org.eclipse.statet.rj.servi.webapp">

-        <wb-resource deploy-path="/" source-path="/web"/>

-        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>

+        <wb-resource source-path="/src/main/webapp" deploy-path="/"/>

+        <wb-resource source-path="/src/main/java" deploy-path="/WEB-INF/classes"/>

         <dependent-module archiveName="org.eclipse.statet.jcommons.util.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/org.eclipse.statet.jcommons.util/org.eclipse.statet.jcommons.util">

             <dependency-type>uses</dependency-type>

         </dependent-module>

-        <dependent-module archiveName="org.eclipse.statet.rj.servi.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/org.eclipse.statet.rj.servi/org.eclipse.statet.rj.servi">

+        <dependent-module archiveName="org.eclipse.statet.rj.data.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/org.eclipse.statet.rj.data/org.eclipse.statet.rj.data">

+            <dependency-type>uses</dependency-type>

+        </dependent-module>

+        <dependent-module archiveName="org.eclipse.statet.rj.server.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/org.eclipse.statet.rj.server/org.eclipse.statet.rj.server">

             <dependency-type>uses</dependency-type>

         </dependent-module>

         <dependent-module archiveName="org.eclipse.statet.rj.client.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/org.eclipse.statet.rj.client/org.eclipse.statet.rj.client">

@@ -14,10 +17,7 @@
         <dependent-module archiveName="org.eclipse.statet.rj.services.core.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/org.eclipse.statet.rj.services.core/org.eclipse.statet.rj.services.core">

             <dependency-type>uses</dependency-type>

         </dependent-module>

-        <dependent-module archiveName="org.eclipse.statet.rj.data.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/org.eclipse.statet.rj.data/org.eclipse.statet.rj.data">

-            <dependency-type>uses</dependency-type>

-        </dependent-module>

-        <dependent-module archiveName="org.eclipse.statet.rj.server.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/org.eclipse.statet.rj.server/org.eclipse.statet.rj.server">

+        <dependent-module archiveName="org.eclipse.statet.rj.servi.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/org.eclipse.statet.rj.servi/org.eclipse.statet.rj.servi">

             <dependency-type>uses</dependency-type>

         </dependent-module>

         <property name="java-output-path"/>

diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml b/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
deleted file mode 100644
index 9b4b9fc..0000000
--- a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<root>
-  <facet id="jst.jsf">
-    <node name="libprov">
-      <attribute name="provider-id" value="jsf-user-library-provider"/>
-    </node>
-  </facet>
-</root>
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.project.facet.core.xml b/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.project.facet.core.xml
deleted file mode 100644
index f1a2542..0000000
--- a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-  <runtime name="tomcat-6"/>
-  <fixed facet="java"/>
-  <fixed facet="jst.web"/>
-  <installed facet="java" version="1.8"/>
-  <installed facet="jst.web" version="2.5"/>
-  <installed facet="jst.jsf" version="1.2"/>
-</faceted-project>
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.jsdt.ui.superType.container b/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.jsdt.ui.superType.container
deleted file mode 100644
index 3bd5d0a..0000000
--- a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.jsdt.ui.superType.container
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.jsdt.ui.superType.name b/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.jsdt.ui.superType.name
deleted file mode 100644
index 05bd71b..0000000
--- a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.jsdt.ui.superType.name
+++ /dev/null
@@ -1 +0,0 @@
-Window
\ No newline at end of file
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.ws.service.policy.prefs b/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.ws.service.policy.prefs
deleted file mode 100644
index e812326..0000000
--- a/servi/org.eclipse.statet.rj.servi.webapp/.settings/org.eclipse.wst.ws.service.policy.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Jun 12 11:04:53 CEST 2009
-eclipse.preferences.version=1
-org.eclipse.wst.ws.service.policy.projectEnabled=false
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/pom.xml b/servi/org.eclipse.statet.rj.servi.webapp/pom.xml
index 1d495ec..15ee3a9 100644
--- a/servi/org.eclipse.statet.rj.servi.webapp/pom.xml
+++ b/servi/org.eclipse.statet.rj.servi.webapp/pom.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
@@ -6,81 +22,58 @@
 	
 	<parent>
 		<groupId>org.eclipse.statet.rj</groupId>
-		<artifactId>rj-servi</artifactId>
-		<version>1.0-SNAPSHOT</version>
-		<relativePath>../_build</relativePath>
+		<artifactId>rj.servi</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
 	</parent>
 	
-	<groupId>org.eclipse.statet.rj</groupId>
 	<artifactId>org.eclipse.statet.rj.servi.webapp</artifactId>
 	<version>4.0.0-SNAPSHOT</version>
 	<packaging>war</packaging>
 	
 	<dependencies>
-		<!-- Commons -->
 		<dependency>
-			<groupId>org.eclipse.statet.commons</groupId>
+			<groupId>org.eclipse.statet.jcommons</groupId>
 			<artifactId>org.eclipse.statet.jcommons.util</artifactId>
-			<version>4.0.0-SNAPSHOT</version>
 		</dependency>
-		<!-- RJ Servi -->
+		
 		<dependency>
 			<groupId>org.eclipse.statet.rj</groupId>
 			<artifactId>org.eclipse.statet.rj.servi</artifactId>
-			<version>4.0.0-SNAPSHOT</version>
 		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.client</artifactId>
-			<version>4.0.0-SNAPSHOT</version>
-		</dependency>
-		<!-- RJ Core -->
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.data</artifactId>
-			<version>4.0.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.statet.rj</groupId>
-			<artifactId>org.eclipse.statet.rj.server</artifactId>
-			<version>4.0.0-SNAPSHOT</version>
-		</dependency>
-		<!-- JSF -->
-		<dependency>
-			<groupId>javax.faces</groupId>
-			<artifactId>jsf-api</artifactId>
-			<version>1.2_15</version>
-		</dependency>
-		<dependency>
-			<groupId>javax.faces</groupId>
-			<artifactId>jsf-impl</artifactId>
-			<version>1.2_15</version>
-			<scope>runtime</scope>
-		</dependency>
-		<dependency>
-			<groupId>javax.servlet</groupId>
-			<artifactId>jstl</artifactId>
-			<version>1.2</version>
-		</dependency>
-		<!-- Java Web (EE 5) -->
+		
+		<!-- Java Web (EE 7) -->
 		<dependency>
 			<groupId>javax.el</groupId>
-			<artifactId>el-api</artifactId>
-			<version>1.0</version>
+			<artifactId>javax.el-api</artifactId>
+			<version>3.0.0</version>
 			<scope>provided</scope>
 		</dependency>
 		<dependency>
 			<groupId>javax.servlet</groupId>
-			<artifactId>servlet-api</artifactId>
-			<version>2.5</version>
+			<artifactId>javax.servlet-api</artifactId>
+			<version>3.1.0</version>
 			<scope>provided</scope>
 		</dependency>
 		<dependency>
 			<groupId>javax.annotation</groupId>
-			<artifactId>jsr250-api</artifactId>
-			<version>1.0</version>
+			<artifactId>javax.annotation-api</artifactId>
+			<version>1.3.2</version>
 			<scope>provided</scope>
 		</dependency>
+		<!-- JSF -->
+		<dependency>
+			<groupId>jakarta.faces</groupId>
+			<artifactId>jakarta.faces-api</artifactId>
+			<version>2.3.1</version>
+<!-- 			<groupId>org.glassfish</groupId> -->
+<!-- 			<artifactId>jakarta.faces</artifactId> -->
+<!-- 			<version>2.3.9</version> -->
+		</dependency>
+		<dependency>
+			<groupId>org.glassfish.web</groupId>
+			<artifactId>jstl-impl</artifactId>
+			<version>1.2</version>
+		</dependency>
 	</dependencies>
 	
 	<build>
@@ -89,9 +82,8 @@
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-war-plugin</artifactId>
-				<version>2.1.1</version>
+				<version>3.2.2</version>
 				<configuration>
-					<warSourceDirectory>${basedir}/web</warSourceDirectory>
 					<outputFileNameMapping>@{artifactId}@_@{version}@.@{extension}@</outputFileNameMapping>
 					<warName>rservi</warName>
 				</configuration>
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/CheckingFilter.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/CheckingFilter.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/CheckingFilter.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/CheckingFilter.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/DebugBean.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/DebugBean.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/DebugBean.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/DebugBean.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/DurationConverter.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/DurationConverter.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/DurationConverter.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/DurationConverter.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/EAppEnvDummy.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/EAppEnvDummy.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/EAppEnvDummy.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/EAppEnvDummy.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/FacesUtils.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/FacesUtils.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/FacesUtils.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/FacesUtils.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/NetConfigBean.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/NetConfigBean.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/NetConfigBean.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/NetConfigBean.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/NodeConfigBean.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/NodeConfigBean.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/NodeConfigBean.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/NodeConfigBean.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/PoolConfigBean.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/PoolConfigBean.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/PoolConfigBean.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/PoolConfigBean.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/PoolItemBean.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/PoolItemBean.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/PoolItemBean.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/PoolItemBean.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/PoolStatusBean.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/PoolStatusBean.java
similarity index 93%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/PoolStatusBean.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/PoolStatusBean.java
index a2d7b0c..f0db048 100644
--- a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/PoolStatusBean.java
+++ b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/PoolStatusBean.java
@@ -17,6 +17,7 @@
 import javax.annotation.PostConstruct;
 
 import org.eclipse.statet.rj.servi.pool.PoolNodeItem;
+import org.eclipse.statet.rj.servi.pool.PoolNodeObject;
 import org.eclipse.statet.rj.servi.pool.PoolStatus;
 import org.eclipse.statet.rj.servi.pool.RServiPoolManager;
 
@@ -48,7 +49,7 @@
 	}
 	
 	@Override
-	protected PoolNodeItem createPoolItem(final Object itemData, final long stamp) {
+	protected PoolNodeItem createPoolItem(final PoolNodeObject itemData, final long stamp) {
 		return new PoolItemBean(itemData, stamp);
 	}
 	
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/RJServlet.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/RJServlet.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/RJServlet.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/RJServlet.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/RJWeb.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/RJWeb.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/RJWeb.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/RJWeb.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/ServletRJContext.java b/servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/ServletRJContext.java
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/src/org/eclipse/statet/rj/servi/webapp/ServletRJContext.java
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/java/org/eclipse/statet/rj/servi/webapp/ServletRJContext.java
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/WEB-INF/faces-config.xml b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/WEB-INF/faces-config.xml
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/WEB-INF/faces-config.xml
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/WEB-INF/faces-config.xml
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/WEB-INF/lib/security.policy b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/WEB-INF/lib/security.policy
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/WEB-INF/lib/security.policy
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/WEB-INF/lib/security.policy
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/WEB-INF/web.xml b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/WEB-INF/web.xml
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/WEB-INF/web.xml
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/index.jsp b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/index.jsp
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/index.jsp
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/index.jsp
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/resources/body-footer.jspf b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/body-footer.jspf
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/resources/body-footer.jspf
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/body-footer.jspf
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/resources/body-header.jspf b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/body-header.jspf
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/resources/body-header.jspf
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/body-header.jspf
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/resources/conf-net.jsp b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/conf-net.jsp
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/resources/conf-net.jsp
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/conf-net.jsp
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/resources/conf-pool.jsp b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/conf-pool.jsp
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/resources/conf-pool.jsp
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/conf-pool.jsp
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/resources/conf-r.jsp b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/conf-r.jsp
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/resources/conf-r.jsp
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/conf-r.jsp
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/resources/css/style.css b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/css/style.css
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/resources/css/style.css
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/css/style.css
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/resources/index.jsp b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/index.jsp
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/resources/index.jsp
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/index.jsp
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/resources/sessionexpired.jsp b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/sessionexpired.jsp
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/resources/sessionexpired.jsp
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/sessionexpired.jsp
diff --git a/servi/org.eclipse.statet.rj.servi.webapp/web/resources/status-poolnodes.jsp b/servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/status-poolnodes.jsp
similarity index 100%
rename from servi/org.eclipse.statet.rj.servi.webapp/web/resources/status-poolnodes.jsp
rename to servi/org.eclipse.statet.rj.servi.webapp/src/main/webapp/resources/status-poolnodes.jsp
diff --git a/servi/org.eclipse.statet.rj.servi/.classpath b/servi/org.eclipse.statet.rj.servi/.classpath
index 0d41512..8b52eff 100644
--- a/servi/org.eclipse.statet.rj.servi/.classpath
+++ b/servi/org.eclipse.statet.rj.servi/.classpath
@@ -2,7 +2,6 @@
 <classpath>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
-			<attribute name="owner.project.facets" value="java"/>
 			<attribute name="annotationpath" value="/org.eclipse.statet/eea/"/>
 		</attributes>
 	</classpathentry>
diff --git a/servi/org.eclipse.statet.rj.servi/.gitignore b/servi/org.eclipse.statet.rj.servi/.gitignore
index 5e56e04..09e3bc9 100644
--- a/servi/org.eclipse.statet.rj.servi/.gitignore
+++ b/servi/org.eclipse.statet.rj.servi/.gitignore
@@ -1 +1,2 @@
-/bin
+/bin/
+/target/
diff --git a/servi/org.eclipse.statet.rj.servi/.project b/servi/org.eclipse.statet.rj.servi/.project
index 3ce8a73..942273a 100644
--- a/servi/org.eclipse.statet.rj.servi/.project
+++ b/servi/org.eclipse.statet.rj.servi/.project
@@ -6,11 +6,6 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
@@ -25,11 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 	</natures>
 </projectDescription>
diff --git a/servi/org.eclipse.statet.rj.servi/.settings/org.eclipse.wst.common.component b/servi/org.eclipse.statet.rj.servi/.settings/org.eclipse.wst.common.component
deleted file mode 100644
index 1cb3c70..0000000
--- a/servi/org.eclipse.statet.rj.servi/.settings/org.eclipse.wst.common.component
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId" project-version="1.5.0">
-    <wb-module deploy-name="org.eclipse.statet.rj.servi">
-        <wb-resource deploy-path="/" source-path="/src"/>
-        <wb-resource deploy-path="/" source-path="/srcServer"/>
-        <wb-resource deploy-path="/" source-path="/srcServiPool"/>
-    </wb-module>
-</project-modules>
diff --git a/servi/org.eclipse.statet.rj.servi/.settings/org.eclipse.wst.common.project.facet.core.xml b/servi/org.eclipse.statet.rj.servi/.settings/org.eclipse.wst.common.project.facet.core.xml
deleted file mode 100644
index f4ef8aa..0000000
--- a/servi/org.eclipse.statet.rj.servi/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-  <installed facet="java" version="1.8"/>
-</faceted-project>
diff --git a/servi/org.eclipse.statet.rj.servi/META-INF/MANIFEST.MF b/servi/org.eclipse.statet.rj.servi/META-INF/MANIFEST.MF
index ee31d02..0fa3351 100644
--- a/servi/org.eclipse.statet.rj.servi/META-INF/MANIFEST.MF
+++ b/servi/org.eclipse.statet.rj.servi/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.statet.rj.servi;singleton:=true
 Bundle-Version: 4.0.0.qualifier
-Bundle-Vendor: Eclipse.org
+Bundle-Vendor: Eclipse StatET
 Bundle-Name: StatET RJ - RServi
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
@@ -10,8 +10,8 @@
  org.eclipse.statet.rj.server;bundle-version="[4.0.0,4.1.0)",
  org.eclipse.statet.rj.services.core;bundle-version="[4.0.0,4.1.0)";visibility:=reexport,
  org.eclipse.statet.rj.client;bundle-version="[4.0.0,4.1.0)"
-Import-Package: org.apache.commons.pool2;version="[2.4.0,3.0.0)";resolution:=optional,
- org.apache.commons.pool2.impl;version="[2.4.0,3.0.0)";resolution:=optional,
+Import-Package: org.apache.commons.pool2;version="[2.6.0,3.0.0)";resolution:=optional,
+ org.apache.commons.pool2.impl;version="[2.6.0,3.0.0)";resolution:=optional,
  org.eclipse.statet.jcommons.collections;version="4.0.0",
  org.eclipse.statet.jcommons.lang;version="4.0.0",
  org.eclipse.statet.jcommons.rmi;version="4.0.0",
diff --git a/servi/org.eclipse.statet.rj.servi/build.properties b/servi/org.eclipse.statet.rj.servi/build.properties
index 625de79..3e2aa21 100644
--- a/servi/org.eclipse.statet.rj.servi/build.properties
+++ b/servi/org.eclipse.statet.rj.servi/build.properties
@@ -10,7 +10,5 @@
 bin.includes= META-INF/,\
               .,\
               plugin.xml,\
-              about.html,\
-              asl-v20.txt,\
-              NOTICE.txt
+              about.html
 src.includes= .settings/org.eclipse.core.resources.prefs
diff --git a/servi/org.eclipse.statet.rj.servi/pom.xml b/servi/org.eclipse.statet.rj.servi/pom.xml
new file mode 100644
index 0000000..5ecf177
--- /dev/null
+++ b/servi/org.eclipse.statet.rj.servi/pom.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet.rj</groupId>
+		<artifactId>rj.servi</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<artifactId>org.eclipse.statet.rj.servi</artifactId>
+	<version>4.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.eclipse.statet.jcommons</groupId>
+			<artifactId>org.eclipse.statet.jcommons.util</artifactId>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.eclipse.statet.rj</groupId>
+			<artifactId>org.eclipse.statet.rj.services.core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.eclipse.statet.rj</groupId>
+			<artifactId>org.eclipse.statet.rj.data</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.eclipse.statet.rj</groupId>
+			<artifactId>org.eclipse.statet.rj.server</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.eclipse.statet.rj</groupId>
+			<artifactId>org.eclipse.statet.rj.client</artifactId>
+		</dependency>
+	</dependencies>
+	
+</project>
diff --git a/servi/org.eclipse.statet.rj.servi/srcServiPool/org/eclipse/statet/internal/rj/servi/APool2.java b/servi/org.eclipse.statet.rj.servi/srcServiPool/org/eclipse/statet/internal/rj/servi/APool2.java
index 9274309..cec0db9 100644
--- a/servi/org.eclipse.statet.rj.servi/srcServiPool/org/eclipse/statet/internal/rj/servi/APool2.java
+++ b/servi/org.eclipse.statet.rj.servi/srcServiPool/org/eclipse/statet/internal/rj/servi/APool2.java
@@ -146,7 +146,7 @@
 	}
 	
 	@Override
-	protected EvictionPolicy<APool2NodeHandler> getEvictionPolicy() {
+	public EvictionPolicy<APool2NodeHandler> getEvictionPolicy() {
 		return EVICTION_POLICY;
 	}
 	
diff --git a/servi/pom.xml b/servi/pom.xml
new file mode 100644
index 0000000..de6a145
--- /dev/null
+++ b/servi/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #=============================================================================#
+ # Copyright (c) 2018 Stephan Wahlbrink and others.
+ # 
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ # 
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ # 
+ # Contributors:
+ #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================#
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.statet-rj</groupId>
+		<artifactId>root</artifactId>
+		<version>4.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<groupId>org.eclipse.statet.rj</groupId>
+	<artifactId>rj.servi</artifactId>
+	<packaging>pom</packaging>
+	
+	<modules>
+		<module>org.eclipse.statet.rj.servi</module>
+		
+		<module>org.eclipse.statet.rj.servi.webapp</module>
+		
+		<module>_assemblies</module>
+		
+	</modules>
+	
+</project>