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的端口


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM