Thingsboard entorno de desarrollo para crear y compilar el proyecto

QQ grupo de intercambio

Si tiene otros problemas con la instalación, QQ grupo puede ir en busca de ayuda
comunidad de intercambio thingsboard

Si usted tiene otras preguntas, puede ver varios temas prioritarios más adelante en este artículo compilado solución, si no lo suficiente como para intercambiar el grupo puede ayudar a: 121 202 538

Instalación para el Medio Ambiente

Entorno de desarrollo:
Jdk 1.8 Versión
PostgreSQL 9 anterior
Node.js
NPM
Maven más de 3,6
Git Herramientas
Herramientas de desarrollo Idea
Redis

JDK

Descargar e instalar

Descargar JDK oficial: https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

versión JDK seleccionado JDK8, mi entorno local es Windos10 64 bits, por lo que elegir JDK-8u221-windows-x64.exe

image.png

Después de una buena descarga por defecto instalada directamente en la línea de
image.png

variable de entorno de configuración

Paso 1:
aumento de la dirección de la instalación de JDK JAVA_HOME en: C: \ Archivos de programa \ Java \ jdk1.8.0_221
image.png

Paso 2:
el aumento de la dirección de la instalación del archivo en el JDK CLASSPATH:;% JAVA_HOME% \ lib. ;% JAVA_HOME% \ lib \ dt.jar;% JAVA_HOME% \ lib \ tools.jar
image.png

Paso 3:
aumento de la JDK dirección Path:% JAVA_HOME% \ bin;% JAVA_HOME% \ jre \ bin;
image.png

Paso 4
Introduzca el siguiente comando

java -version

Si que aparezca el siguiente mensaje, incluso si la instalación se ha realizado correctamente
image.png

IDEA instalación

Referencia: tutorial de instalación de IDEA

Instalación de Maven

Paso 1: Descargar experto, introduzca la dirección: http: //maven.apache.org/download.cgi
image.png

Paso 2: Descargar a un local de
image.png

Paso 3: Configurar las variables ambientales
aumentan MAVEN_HOME, dirección maven a saber: D: \ tb \ apache maven-3.6.1-bin, Tenga en cuenta que si la descompresión directa, puede haber dos apache-maven-3.6.1- papelera
image.png

image.png

MAVEN_OPTS, el parámetro es -Xms128m -Xmx1024m
image.png

Ruta Modificar, un aumento de la dirección de Maven% MAVEN_HOME% \ bin;
image.png

Prueba de Maven instalado, una herramienta de línea de comandos abierta. Utilice el comando mvn -v, si el siguiente mensaje de que la instalación se ha realizado correctamente
image.png

instalación nodejs

Paso 1: Descargar el paquete de instalación nodejs, nodejs dirección del sitio web oficial: https: //nodejs.org/en/download/
image.png

Paso 2: Después de la instalación se haya completado, utilice el comando para ver si la instalación se ha completado nodejs, los siguientes consejos pueden tener un éxito de instrucciones de instalación
image.png

instalar Git

Paso 1: descargar el paquete de instalación de git, git dirección de sitio web oficial: https: //git-scm.com/download/win
image.png

Paso 2: Después de la instalación se haya completado, utilizando la prueba de línea de comandos git
image.png

NPM instalar la dependencia mundial

Paso 1: Utilice la línea de comandos CMD administrador, ejecute el siguiente comando

#npm 环境读取环境变量包
npm install -g cross-env

#webpack打包工具
npm install -g webpack

image.png

instalar Redis

Instalación Redis Referencia: https: //www.iotschool.com/wiki/redis

Con esto concluye el entorno de instalación, seguido tirando código de Git.

La clonación thingsboard Código

Determinar la ubicación de almacenamiento de códigos

Crear una ubicación de almacenamiento de archivos de código en el directorio local, y luego en el directorio actual, haga clic derecho y elegir Git Bash Aquí
image.png

fuente de entrada de comandos git clone

git clone https://github.com/thingsboard/thingsboard.git

image.png

Después de esperar pacientemente durante algún tiempo, ver la siguiente interfaz, incluso si la descarga se ha realizado correctamente
image.png

Cambio de git branch

El código de descarga por defecto es maestro de la rama principal, tenemos que cambiar a la versión más reciente de la rama de desarrollo.

Ver código fuente del proyecto de todas las ramas, descargar el código fuente, es necesario entrar en la carpeta thingsboard
image.png

Encontrar la última versión publicada 2.4, 2.4 así que elegir aquí, por supuesto, se puede elegir de acuerdo a su propia rama

Introduzca el siguiente comando para cambiar a la rama 2.4

git checkout release-2.4

Véase la siguiente manera, es decir, a la entrega exitosa
image.png

preparativos

conexión de red externa

Debido a que la tuberculosis durante la compilación necesidad de confiar en una gran cantidad de combinados al extranjero, tendrá que conectarse a la red externa, la conexión de soporte de la red externa, se puede ir a la comunidad en busca de ayuda: https: //www.iotschool.com/topics/node8

Maven se establece en Taobao Espejo

proyecto basado en Maven es gestionado directamente por la idea abierta, a continuación, se descargará automáticamente todo tipo de dependencias. dirección de las dependencias de almacenamiento por defecto es: C: \ Users \ nombre de usuario .m2 \ repositorio, que dice lo siguiente:

$tree ~/.m2 -L 2
/home/jay/.m2
└── repository
    ├── antlr
    ├── aopalliance
    ├── asm
    ├── backport-util-concurrent
    ├── ch
    ...

En general, el uso de las dependencias oficiales actualización de la imagen, inestabilidad de la velocidad, Maven puede ser fuente de espejo se establece en Taobao para encontrar conjunto settings.xml experto en el directorio del paquete de instalación

tiros de la localización aproximadas:

Settings.xml dentro del contenido se establece en la siguiente:

<mirrors>
  <mirror>
       <!--This sends everything else to /public -->
       <id>aliyun_nexus</id>
       <mirrorOf>*,!maven_nexus_201</mirrorOf> 
       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
   </mirror>
</mirrors>

No se establece, se puede hacer referencia a este documento: https: //cdn.iotschool.com/iotschool/settings.xml

QQ grupo thingsboard también tiene los recursos: 121 202 538

Conjunto NPM Espejo Taobao

Ibid., La velocidad no es buena NPM proceso de descarga se producirá un error, que es la principal causa del fracaso de muchos estudiantes para compilar thingsboard, por lo que hemos compilado antes de realizar, será reemplazado NPM Taobao Espejo:

npm install -g mirror-config-china --registry=http://registry.npm.taobao.org        #使用淘宝镜像
npm config get registry                                                             #查询当前镜像
npm config rm registry                                                              #删除自定义镜像,使用官方镜像
npm info express

IDEA administrador configurado para iniciarse

Mi entorno de desarrollo local para compilar el proyecto se compila utilizando la herramienta de IDEA, es necesario configurar el administrador para iniciar, de manera que pueda ejecutar comandos para compilar todos los permisos.
Paso 1: Haga clic en el icono de IDEA, seleccione Propiedades.
image.png

Paso 2: Haga clic en Compatibilidad - cambiar todos los ajustes de usuario - Ejecutar este programa como administrador
image.png
image.png

comenzar a compilar

Compilar el proyecto con la velocidad de la red, la mejor conexión a redes externas se compila, por lo general de 5 a 30 minutos son posibles, más de 30 minutos para hacer su red.

Limpieza de archivos de proyecto para compilar

Uso IDEA herramienta de Maven para la limpieza
image.png

Introduzca el comando para iniciar el compilador para compilar

En la consola de IDEA (parte inferior izquierda) Terminal Introduzca el siguiente comando para compilar:

mvn clean install -DskipTests

image.png

Etc. Después de algún tiempo, ver cuadro abajo incluso compilado con éxito, si no compilado correctamente seguir la investigación de acuerdo con la AYUDA final de este tutorial, por lo general un problema de red. Si hay problemas, por favor vaya a la comunidad thingsboard el tema en cuestión.

image.png

Preguntas más frecuentes

Este tutorial sólo lista IoTSchool problemas encontrados en el proceso de compilación de la serie thingsboard pequeña, si usted tiene preguntas adicionales, por favor vaya a la comunidad thingsboard el tema en cuestión, habrá expertos para responder a sus preguntas.

Caché de compilación falla

Cada compilador tiempo para compilar fallo secundario para borrar la caché, y matar el proceso legado
Paso 1: Ejecutar el siguiente comando para matar el proceso legado

taskkill /f /im java.exe

Paso 2: Utilice la herramienta IDEA Maven para la limpieza
image.png

Consejos: Antes de la segunda a ser compilado, lo mejor es reiniciar un ordenador!

Servidor de interfaz de usuario no Compilación

[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.0:npm (npm install) on project ui: Failed to run task: 'npm install' failed. (error code 1) -> [Help 1]

image.png

Si se produce este problema, se puede analizar desde las siguientes razones:

La razón de 1: nodo, versión NPM número del problema

Local nodo instalado ambiente, número de versión NPM y la configuración de los números de versión de archivo pom.xml código fuente no coinciden.

Solución:
Paso 1: Uso nodo -v, NPM -v vista nodo y la versión NPM número instalado
image.png

Paso 2: Modificar la versión del código fuente del archivo pom.xml

<configuration>
   <nodeVersion>v12.13.1</nodeVersion>
   <npmVersion>6.12.1</npmVersion>
</configuration>

Es necesario modificar el archivo tiene tres, la situación es la siguiente:
image.png

Razón 2: node-Sass descarga falló

Al compilar servidor de interfaz de usuario, descargas Nodo-Sass-dependiente, ya que si la propia red no se descarga correctamente, se producirá un error de compilación. Si está enseñando paso a paso de acuerdo con los libros, que no debería ser un problema, las preparaciones anteriores, la fuente de espejo NPM se cambia a Taobao, se descargará rápidamente.

[INFO] Downloading binary from https://github.com/sass/node-sass/releases/download/v4.12.0/win32-x64-72_binding.node
[ERROR] Cannot download "https://github.com/sass/node-sass/releases/download/v4.12.0/win32-x64-72_binding.node":
[ERROR]
[ERROR] ESOCKETTIMEDOUT
[ERROR]
[ERROR] Hint: If github.com is not accessible in your location
[ERROR]       try setting a proxy via HTTP_PROXY, e.g.
[ERROR]
[ERROR]       export HTTP_PROXY=http://example.com:1234
[ERROR]
[ERROR] or configure npm proxy via
[ERROR]
[ERROR]       npm config set proxy http://example.com:8080
[INFO]
[INFO] > [email protected] postinstall F:\workspace\thingsboard\thingsboard\ui\node_modules\node-sass
[INFO] > node scripts/build.js
[INFO]

image.png

Solución: Conmutación de reflejo de Taobao

Solución: reinicie el ordenador, borrar la memoria caché

Razón 3: La versión 3.0 Thingsboard problema del compilador encontrado

Pro-test: la versión 2.4 también se puede resolver por esta vía

Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.7.5:npm (npm install) on project ui-ngx: Failed to run task: 'npm install' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: -4048 (Exit value: -4048) -> [Help 1]

Solución: https: //www.iotschool.com/topics/84

Motivo 4: plomo compilar a residuos de proceso secundarias

error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project ui: Failed to clean project: Failed to delete F:\workspace\thingsboard\thingsboard\ui\target\node\node.exe -> [Help 1]

image.png

Servidor de la herramienta Compilación falló

image.png

[ERROR] Failed to execute goal on project tools: Could not resolve dependencies for project org.thingsboard:tools:jar:2.4.3: Failed to collect dependencies at org.eclipse.paho:org.eclipse.paho.client.mqttv3:jar:1.1.0: Failed to read artifact descriptor for org.eclipse.paho:org.eclipse.paho.clien
t.mqttv3:jar:1.1.0: Could not transfer artifact org.eclipse.paho:org.eclipse.paho.client.mqttv3:pom:1.1.0 from/to aliyun_nexus (http://maven.aliyun.com/nexus/content/groups/public/): Failed to transfer file http://maven.aliyun.com/nexus/content/groups/public/org/eclipse/paho/org.eclipse.paho.cli
ent.mqttv3/1.1.0/org.eclipse.paho.client.mqttv3-1.1.0.pom with status code 502 -> [Help 1]

En general, debido a razones de red, IoTSchool pequeña serie compilada por lo menos tres veces antes de tener éxito, cada compilación es necesario reiniciar el ordenador y limpiar el medio ambiente.

Solución: Si está utilizando mvn instalación limpia -DskipTests comando para compilar, a continuación, intentar varias veces antes de cada compilación, para limpiar el medio ambiente.

Referencia: https: //github.com/thingsboard/performance-tests/issues/10

JavaScript Ejecutor falla al compilar

JavaScript Ejecutor Microservice fallan para compilar
image.png

[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.0:npm (npm install) on project js-executor: Failed to run task: 'npm install' failed. (error code 2) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :js-executor

La razón: la falta de memoria caché local fue a buscar-v10.15.3-linux-x64 y descabellada-v10.15.3-ganar-x64 estos dos archivos.

Solución:
Paso 1: Descarga ambos archivos a un local, después de una descarga recordar para cambiar el nombre, dirección de descarga: https: //github.com/zeit/pkg-fetch/releases
image.png

Paso 2: Descarga el archivo en dos: poner: C: \ Users \ nombre de usuario \ .pkg-cache \ v2.6. Y los nombres fueron cambiados a: descabellada-v10.15.3-linux-x64 y descabellada-v10.15.3-ganar-x64

Referencia: https: //github.com/thingsboard/thingsboard/issues/2084

Verificación de la licencia no pasa

[ERROR] Failed to execute goal com.mycila:license-maven-plugin:3.0:check (default) on project thingsboard: Some files do not have the expected license header -> [Help 1]

Solución: blindaje de licencia de Maven-plugin en el directorio raíz de la pom.xml

image.png

licencia-maven-plugin de búsqueda, comente todo el plug-in
image.png

Interfaz de usuario web falla al compilar

Interfaz de usuario web falla al compilar Consulte Servidor de interfaz de usuario deja de compilar la primera razón

Maven: No se pudo resolver las dependencias para org.thingsboard proyecto: Aplicación:

Mensajes de error

[ERROR] Failed to execute goal on project application: Could not resolve dependencies for project org.thingsboard:application:jar:2.4.1: The following artifacts could not be resolved: org.thingsboard.rule-engine:rule-engine-components:jar:2.4.1, org.thingsboard:dao:jar:2.4.1: Could not find artifact org.thingsboard.rule-engine:rule-engine-components:jar:2.4.1 in jenkins (http://repo.jenkins-ci.org/releases) -> [Help 1]

directorio raíz abajo compilador experto, no en cada compilan por separado, o no puede resolver automáticamente las dependencias, si ya está compilado en el sub-módulo, volver al directorio raíz del primer aspecto limpio, y luego volver a compilar: solución.

maven: No se pudo eliminar la TB-http-transport.rpm

Mensaje de error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project http: Failed to clean project: Failed to delete D:\my_project\thingsboard\transport\http\target\tb-http-transport.rpm -> [Help 1]

Solución: En primer lugar compilación falla, se le pedirá de nuevo para compilar este error, puede eliminar manualmente la ruta al error, si los archivos impulsadas están en uso, es necesario eliminar manualmente el administrador de tareas para matar el proceso java antes.

NGP: NGP: cb () nunca llamó!

Mensaje de error:

npm ERR! cb() never called!
 
npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://npm.community>
 
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\yuren\AppData\Roaming\npm-cache\_logs\2019-11-06T10_55_28_258Z-debug.log

Solución:
prueba después de NPM NPM caché --force instalación limpia de nuevo en vano;
reemplazo intento NPM Taobao reflejo instalar en vano otra vez;
sospechar algunos paquetes necesarios para descargar a través de la pared, sobre la pared después todavía existe el problema de agencia global;
de referencia en línea cierre todas las después todavía existe el problema de agencia;
y, finalmente, un lugar para error de desempaquetado, los materiales de diseño de iconos de blindaje requeridas, los nuevos módulos todavía rxjs siendo determinado por el análisis log log;

extract [email protected] extracted to node_modules\.staging\material-design-icons-61b4d55e (72881ms)
extract [email protected] extracted to node_modules\.staging\rxjs-e901ba4c (24280ms)

cb NPM referencia ERR () nunca llamó Ejecutivo

npm install --no-package-lock

Después de sugerir ERR NPM! Git Path, git después de añadir una variable de entorno a la normalidad.

NGP: NGP ERR! Path Git

Mensajes de error

npm ERR! path git
npm ERR! code ENOENT
npm ERR! errno ENOENT
npm ERR! syscall spawn git
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t git://github.com/fabiobiondi/angular-

Solución: Añadir la variable de entorno a Git.

Sin compilador se proporciona en este entorno

Mensaje de error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.
1:compile (default-compile) on project netty-mqtt: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on
a JRE rather than a JDK?

Es necesario que se fijará en un java variable de entorno, que contiene bin% JAVA_HOME%;% JAVA_HOME% lib;

Para obtener más opciones, ir a las comunidades a la dirección: https: //www.iotschool.com/topics/node8

Publicado 11 artículos originales · ganado elogios 0 · Vistas 1107

Supongo que te gusta

Origin blog.csdn.net/IoTSchool/article/details/104851361
Recomendado
Clasificación