• springcloudAlibaba+nacos+dubbo服务部署到阿里云服务器中踩的坑


    首先你的阿里云服务器需要预先配置好:jdk环境,maven环境,mysql环境,nacos环境+其他项目需要的中间件环境(redis,zk等)
     
    踩的坑记录。
     
    1.
    第一个坑:本地把项目打包(maven install)之后放到阿里云服务器上执行java -jar xxx.jar报错:
     
    服务器上springboot项目启动时报错 no main manifest attribute, in XXX1.0.0-SNAPSHOT.jar
     
    <build>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
      </plugins>
    </build>
    这是因为jar包启动的时候没有指定主类,在pom文件的build中加上上面的spring-boot-maven-plugin插件即可。
     
    2.
    第二个坑,配置好插件之后再执行:
    java -jar xxx.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
    at com.xxx.config.xxxApplication.main(xxxApplication.java:23)
    Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
     
    因为我的阿里云服务器没有配置maven,导致启动的时候报错
     
    3.maven装好
    启动maven 失败,由于我的阿里云服务器配置的是openjdk,更改 为oracle jdk,再配置下即可完成
     
    4.maven安装好后,启动dubbo服务成功。
     
    5.api服务本地启动后,请求阿里云nacos中注册的dubbo服务失败
    调试后发现nacos中注册地址为阿里云的私网地址。
    在dubbo服务的配置文件中加上
    spring:
    application:
    name: dubbo01-server
    cloud:
    inetutils:
    ignored-interfaces: eth.*
    preferred-networks: 阿里云的公网地址
     
    6.启动之后,nacos控制台中的注册地址就变成了公网地址。
     
    7.注意开通阿里云dubbo的端口

  • 相关阅读:
    角色转变
    参加Google™ Code Jam 中国编程挑战赛(1)
    开始学习研究Infragistics NetAdvantage For ASP.NET
    建立资料库
    参加Google™ Code Jam 中国编程挑战赛(2)
    极度郁闷,上网时间被限定!
    在Win7下Visual Studio如何使用IIS进行调试
    jQuery 第二课:操作包装集元素
    将DataTable导出到Excel
    CSS选择符
  • 原文地址:https://www.cnblogs.com/xwzp/p/13970057.html
Copyright © 2020-2023  润新知