1.安装数据库(略)
    2.配置数据库,修改resource下边的thingsboard.yml 文件配置相应的数据库名和用户名和密码:
    以下我在服务器www.vincentisme.com 5432 端口开启了postgre数据库,并创建了一个叫windows的数据库,用户名和密码如下。
    image.png

    然后运行:
    image.png
    如果Intellij IDEA运行报Command line is too long
    修改项目下 .idea\workspace.xml,找到标签 , 在标签里加一行
    运行完之后提示找不到application/src/main/data/sql/下找不到相应的sql文件
    image.png
    我们将 dao/src/main/resources/sql 下边的sql文件全部复制到 application/src/main/data/sql/ 结果如下。
    image.png
    再次运行 src/main/java/org/thingsboard/server/ThingsboardInstallApplication.java
    image.png
    以上说明数据库表生成成功,我们可以检查
    image.png可以看到windows数据库下边自动生成了数据表。

    此时就可以运行src/main/java/org/thingsboard/server/ThingsboardServerApplication.java ,遇到了下边的问题

    1. Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
    2. 2021-06-14 21:00:22,720 [main] ERROR o.s.boot.SpringApplication - Application run failed
    3. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'adminController': Unsatisfied dependency expressed through field 'lwM2MModelsRepository'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'lwM2MModelsRepository': Unsatisfied dependency expressed through field 'contextServer'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lwM2MTransportConfigServer': Invocation of init method failed; nested exception is java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Users/Administrator/IdeaProjects/vincent-iot/thingsboard/\data\credentials\serverKeyStore.jks
    4. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643)
    5. at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130)
    6. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
    7. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420)
    8. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
    9. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
    10. at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324)
    11. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
    12. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
    13. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    14. at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897)
    15. at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879)
    16. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551)
    17. at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143)
    18. at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)
    19. at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750)
    20. at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405)
    21. at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
    22. at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
    23. at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
    24. at org.thingsboard.server.ThingsboardServerApplication.main(ThingsboardServerApplication.java:38)
    25. Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'lwM2MModelsRepository': Unsatisfied dependency expressed through field 'contextServer'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lwM2MTransportConfigServer': Invocation of init method failed; nested exception is java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Users/Administrator/IdeaProjects/vincent-iot/thingsboard/\data\credentials\serverKeyStore.jks
    26. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643)
    27. at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130)
    28. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
    29. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420)
    30. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
    31. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
    32. at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324)
    33. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
    34. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
    35. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    36. at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
    37. at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307)
    38. at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227)
    39. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640)
    40. ... 20 common frames omitted
    41. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lwM2MTransportConfigServer': Invocation of init method failed; nested exception is java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Users/Administrator/IdeaProjects/vincent-iot/thingsboard/\data\credentials\serverKeyStore.jks
    42. at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160)
    43. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:415)
    44. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786)
    45. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
    46. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
    47. at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324)
    48. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
    49. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
    50. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    51. at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
    52. at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307)
    53. at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227)
    54. at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640)
    55. ... 33 common frames omitted
    56. Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Users/Administrator/IdeaProjects/vincent-iot/thingsboard/\data\credentials\serverKeyStore.jks
    57. at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
    58. at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
    59. at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
    60. at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
    61. at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229)
    62. at java.base/java.nio.file.Path.of(Path.java:147)
    63. at java.base/java.nio.file.Paths.get(Paths.java:69)
    64. at org.thingsboard.server.common.transport.lwm2m.LwM2MTransportConfigServer.getInKeyStore(LwM2MTransportConfigServer.java:183)
    65. at org.thingsboard.server.common.transport.lwm2m.LwM2MTransportConfigServer.init(LwM2MTransportConfigServer.java:172)
    66. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    67. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    68. at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    69. at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    70. at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
    71. at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
    72. at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
    73. ... 45 common frames omitted

    解决方案,修改627行thingsboard.yml如下:__ _key_store_path_file: “${KEY_STORE_PATH_FILE:/common/transport/lwm2m/src/main/resources/credentials/serverKeyStore.jks}”

    再次运行。成功。
    image.png