diff --git a/apm-collector/apm-collector-boot/bin/collectorService.bat b/apm-backend-dist/bin/collectorService.bat
similarity index 89%
rename from apm-collector/apm-collector-boot/bin/collectorService.bat
rename to apm-backend-dist/bin/collectorService.bat
index f9d2826d0..3bbbd38f5 100644
--- a/apm-collector/apm-collector-boot/bin/collectorService.bat
+++ b/apm-backend-dist/bin/collectorService.bat
@@ -6,7 +6,7 @@ set COLLECTOR_HOME=%~dp0%..
set COLLECTOR_OPTS="-Xms256M -Xmx512M -Dcollector.logDir=%COLLECTOR_HOME%\logs"
set CLASSPATH=%COLLECTOR_HOME%\config;.;
-set CLASSPATH=%COLLECTOR_HOME%\libs\*;%CLASSPATH%
+set CLASSPATH=%COLLECTOR_HOME%\collector-libs\*;%CLASSPATH%
if defined JAVA_HOME (
set _EXECJAVA="%JAVA_HOME:"=%"\bin\java
diff --git a/apm-collector/apm-collector-boot/bin/collectorService.sh b/apm-backend-dist/bin/collectorService.sh
similarity index 94%
rename from apm-collector/apm-collector-boot/bin/collectorService.sh
rename to apm-backend-dist/bin/collectorService.sh
index dbb7774b2..069a681ab 100644
--- a/apm-collector/apm-collector-boot/bin/collectorService.sh
+++ b/apm-backend-dist/bin/collectorService.sh
@@ -15,7 +15,7 @@ _RUNJAVA=${JAVA_HOME}/bin/java
[ -z "$JAVA_HOME" ] && _RUNJAVA=java
CLASSPATH="$COLLECTOR_HOME/config:$CLASSPATH"
-for i in "$COLLECTOR_HOME"/libs/*.jar
+for i in "$COLLECTOR_HOME"/collector-libs/*.jar
do
CLASSPATH="$i:$CLASSPATH"
done
diff --git a/apm-collector/apm-collector-boot/bin/startup.bat b/apm-backend-dist/bin/startup.bat
similarity index 65%
rename from apm-collector/apm-collector-boot/bin/startup.bat
rename to apm-backend-dist/bin/startup.bat
index d1f9f401d..7c00ffbc1 100644
--- a/apm-collector/apm-collector-boot/bin/startup.bat
+++ b/apm-backend-dist/bin/startup.bat
@@ -2,4 +2,5 @@
setlocal
call "%~dp0"\collectorService.bat start
+call "%~dp0"\webappService.bat start
endlocal
diff --git a/apm-backend-dist/bin/startup.sh b/apm-backend-dist/bin/startup.sh
new file mode 100644
index 000000000..20f3b3b7c
--- /dev/null
+++ b/apm-backend-dist/bin/startup.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env sh
+
+PRG="$0"
+PRGDIR=`dirname "$PRG"`
+COLLECTOR_EXE=collectorService.sh
+WEBAPP_EXE=webappService.sh
+
+"$PRGDIR"/"$COLLECTOR_EXE"
+
+"$PRGDIR"/"$WEBAPP_EXE"
diff --git a/apm-backend-dist/bin/webappService.bat b/apm-backend-dist/bin/webappService.bat
new file mode 100644
index 000000000..e8d0c943c
--- /dev/null
+++ b/apm-backend-dist/bin/webappService.bat
@@ -0,0 +1,18 @@
+@echo off
+
+setlocal
+set WEBAPP_PROCESS_TITLE=Skywalking-Webapp
+set WEBAPP_HOME=%~dp0%..
+set JARPATH=%WEBAPP_HOME%\webapp
+
+if defined JAVA_HOME (
+ set _EXECJAVA="%JAVA_HOME:"=%"\bin\java
+)
+
+if not defined JAVA_HOME (
+ echo "JAVA_HOME not set."
+ set _EXECJAVA=java
+)
+
+start "%WEBAPP_PROCESS_TITLE%" %_EXECJAVA% -jar %JARPATH%/skywalking-webapp.jar
+endlocal
diff --git a/apm-backend-dist/bin/webappService.sh b/apm-backend-dist/bin/webappService.sh
new file mode 100644
index 000000000..07b951b83
--- /dev/null
+++ b/apm-backend-dist/bin/webappService.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env sh
+
+PRG="$0"
+PRGDIR=`dirname "$PRG"`
+[ -z "$WEBAPP_HOME" ] && WEBAPP_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
+
+WEBAPP_LOG_DIR="${WEBAPP_HOME}/logs"
+JAVA_OPTS=" -Xms256M -Xmx512M"
+JAR_PATH="${WEBAPP_HOME}/webapp"
+
+if [ ! -d "${WEBAPP_HOME}/logs" ]; then
+ mkdir -p "${WEBAPP_LOG_DIR}"
+fi
+
+_RUNJAVA=${JAVA_HOME}/bin/java
+[ -z "$JAVA_HOME" ] && _RUNJAVA=java
+
+eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} -jar ${JAR_PATH}/skywalking-webapp.jar \
+ 2>${WEBAPP_LOG_DIR}/webapp.log 1> /dev/null &"
+
+if [ $? -eq 0 ]; then
+ sleep 1
+ echo "Skywalking Web Application started successfully!"
+else
+ echo "Skywalking Web Application started failure!"
+ exit 1
+fi
diff --git a/apm-backend-dist/pom.xml b/apm-backend-dist/pom.xml
new file mode 100644
index 000000000..88a90bdd7
--- /dev/null
+++ b/apm-backend-dist/pom.xml
@@ -0,0 +1,77 @@
+
+
+
+ apm
+ org.apache.skywalking
+ 5.0.0-alpha-SNAPSHOT
+
+ 4.0.0
+
+ apm-backend-dist
+ pom
+
+
+
+
+ org.apache.skywalking
+ apm-collector-boot
+ ${project.version}
+
+
+ org.apache.skywalking
+ apm-collector-boot
+ ${project.version}
+
+
+
+
+ skywalking-backend
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ dist
+ package
+
+ single
+
+
+
+
+ true
+ posix
+ false
+
+ ${project.basedir}/src/main/assembly/binary.xml
+
+ false
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+
+
+ package
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apm-backend-dist/src/main/assembly/binary.xml b/apm-backend-dist/src/main/assembly/binary.xml
new file mode 100644
index 000000000..c491faf8e
--- /dev/null
+++ b/apm-backend-dist/src/main/assembly/binary.xml
@@ -0,0 +1,58 @@
+
+
+
+ dist
+
+ zip
+ tar.gz
+
+
+
+ ${project.basedir}/bin
+ /bin
+
+ *.sh
+ *.bat
+
+ 0755
+
+
+ ${project.basedir}/../apm-collector/apm-collector-boot/target/skywalking-collector-assembly/skywalking-collector/config
+ /config
+
+ *.yml
+ *.xml
+
+
+
+ ${project.basedir}/../apm-collector/apm-collector-boot/target/skywalking-collector-assembly/skywalking-collector/libs
+ /collector-libs
+
+
+
+
+ ${project.basedir}/../apm-webapp/target/skywalking-webapp.jar
+ /webapp
+ 0644
+
+
+
diff --git a/apm-collector/apm-collector-boot/bin/startup.sh b/apm-collector/apm-collector-boot/bin/startup.sh
deleted file mode 100644
index d8f441aa7..000000000
--- a/apm-collector/apm-collector-boot/bin/startup.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env sh
-
-PRG="$0"
-PRGDIR=`dirname "$PRG"`
-EXECUTABLE=collectorService.sh
-
-exec "$PRGDIR"/"$EXECUTABLE" start
diff --git a/apm-collector/apm-collector-boot/pom.xml b/apm-collector/apm-collector-boot/pom.xml
index 99605cca1..1acface4b 100644
--- a/apm-collector/apm-collector-boot/pom.xml
+++ b/apm-collector/apm-collector-boot/pom.xml
@@ -227,26 +227,7 @@
-
- org.apache.maven.plugins
- maven-antrun-plugin
-
-
- package
-
- run
-
-
-
-
-
-
-
-
-
-
+
com.spotify
docker-maven-plugin
diff --git a/apm-collector/apm-collector-boot/src/main/assembly/assembly.xml b/apm-collector/apm-collector-boot/src/main/assembly/assembly.xml
index d694f8ed6..ea2ee62ac 100644
--- a/apm-collector/apm-collector-boot/src/main/assembly/assembly.xml
+++ b/apm-collector/apm-collector-boot/src/main/assembly/assembly.xml
@@ -22,8 +22,7 @@
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
assembly
- zip
- tar.gz
+ dir
@@ -32,15 +31,6 @@
-
- ${project.basedir}/bin
- /bin
-
- *.sh
- *.bat
-
- 0755
-
src/main/resources
/config
diff --git a/pom.xml b/pom.xml
index 08e93f514..bcbbff716 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,6 +64,7 @@
apm-collector
apm-protocol
apm-webapp
+ apm-backend-dist
pom