首页 > 其他分享 >基于KubeSphere在K8S发布微服务ruoyi----8.可视化Pipeline:2项目编译

基于KubeSphere在K8S发布微服务ruoyi----8.可视化Pipeline:2项目编译

时间:2023-02-01 21:23:33浏览次数:62  
标签:maven plugin spring KubeSphere boot ruoyi ---- 编译 org

配置maven阿里云镜像加速地址

●使用admin登陆k8s

●进入配置----配置字典

●找到配置

○ ks-devops-agent

○修改这个配置。加入maven阿里云镜像加速地址

   

修改maven配置,不要从中央仓库下载,而是从阿里云镜像仓库下载

在<mirrors></mirrors>标签中添加 mirror 子节点

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

   

   

参考:Maven之阿里云镜像

来自 <https://zhuanlan.zhihu.com/p/580566433>

 

   

流水线----编译代码

mvn clean package -Dmaven.test.skip=true  

  

   第二阶段报错:

[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (/home/jenkins/agent/workspace/demo-devopszmf97/ruoyi). Please verify you invoked Maven from the correct directory. -> [Help 1]  

排错过程,在第二阶段增加一个嵌套步骤pwd和ls -al,可以看到目录为空!

   

  

     

第一阶段明明有数据  

原因:第二阶段设置了阶段代理引起,两个阶段是相互独立的!

都设置为none才正常 

     

   

     

第一次编译大约花了6分钟。  

编译好了之后,检查一下某个微服务下有没生成target目录及jar包

ls ruoyi-auth

ls ruoyi-auth/target

   

        

   无法编译打包  

[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:3.0.0:repackage (default) on project ruoyi-auth: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:3.0.0:repackage failed: Unable to load the mojo 'repackage' in the plugin 'org.springframework.boot:spring-boot-maven-plugin:3.0.0' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/springframework/boot/maven/RepackageMojo has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

        

     

原因

原因是maven在编译打包过程中没有指定spring-boot-maven-plugin的版本,默认会从nexus仓库中拉取最新的打包插件版本,而最新的3.0.0版本不被jdk8支持,无法执行编译。  

解决方案

需要用户在pom.xml文件中手动指定spring-boot-maven-plugin该插件的打包版本。  

解决方法:

pom.xml新增红色部分

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

<version>2.7.3</version>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<configuration>

<source>${java.version}</source>

<target>${java.version}</target>

<encoding>${project.build.sourceEncoding}</encoding>

</configuration>

</plugin>

</plugins>

</build>

   

   未增加前截图

     

添加后

 

后记:如果是拉取2022.11.25之后的master代码,带有以下spring-boot-maven-plugin  

修复没有指定spring-boot-maven-plugin 的版本号默认去拉取基于 JDK17 编译的 3.0 版本导致打包失败的问题

来自 <https://gitee.com/y_project/RuoYi-Cloud/commit/04a042c585fd9c4ea1b7d61163d77c5f72a757f9>     

  


其他参考资料

spring-boot-maven-plugin未指定版本导致的编译错误

https://blog.csdn.net/A434534658/article/details/124967619

   

解决通过spring-boot-maven-plugin package失败问题

https://cloud.tencent.com/developer/article/1941876

   

maven-compiler-plugin 与spring-boot-maven-plugin 区别

maven-compiler-plugin 是用于在编译(compile)阶段加入定制化参数,而 spring-boot-maven-plugin 是用于 spring boot 项目的打包(package)阶段,两者没什么关系

使用 maven-compiler-plugin 可以指定编译时候使用的java版本和字符集编码

https://blog.csdn.net/sinat_37792529/article/details/122855459

   

spring-boot-maven-plugin 和maven-compiler-plugin有什么区别?

https://www.likecs.com/ask-483937.html#sc=300

  

   

本地打开项目测试

Cannot resolve plugin org.apache.maven.pluginsmaven-compiler-plugin<unknown>

爆红但不影响项目启动

https://blog.csdn.net/m0_67393413/article/details/126080771  

去 Maven Repository沾了最新版的版本进来,发现并不能治好我的项目

不如就试试使用最多的一版瞧瞧吧,谁曾想,居然好了!

   

<version>3.8.1</version>

        

关于spring-boot-maven-plugin爆红问题的解决  

来自 <https://blog.csdn.net/qq_42704130/article/details/124952510>  

   

   

标签:maven,plugin,spring,KubeSphere,boot,ruoyi,----,编译,org
From: https://www.cnblogs.com/st2021/p/17084054.html

相关文章

  • 数据操作
    一、索引和切片X=np.arange(12).reshape(3,4)X[-1],X[1:3]X[1,2]=9X[0:2,:]=12二、节省内存如果我们Y=X+Y,我们将取消引Y指向的张量,而是指向新分配......
  • Java—成员变量与局部变量、封装
    一、成员变量与局部变量1.定义的位置不同成员变量:成员变量定义在方法外,类中;局部变量:局部变量定义在方法中。2.生命周期不同成员变......
  • 基于KubeSphere在K8S发布微服务ruoyi----9.可视化Pipeline:3构建镜像
      先在nacos创建dev命令空间    这3个配置文件有mysql连接信息,需修改IP,端口,密码     上一阶段编译好了之后,先检查一下某个微服务下有没生成targ......
  • Jmeter学习:客户端模式压测
    客户端模式命令常用参数介绍:https://jmeter.apache.org/usermanual/get-started.html#non_gui客户端模式压测常用命令:1.普通测试:jmeter-n-tlongge/16/16.5.jmx2.......
  • L2-030 冰岛人
    向上找tracytimtimmikessonmikejackssonjackchrisssonchrissmithm找,存一下某个人的祖先是谁,hash找出来某个人的所有5个祖先,两个人取交集,如果不为空就是有公共......
  • gcc学习笔记
    gcc学习笔记1.由c源码到可执行文件的过程,宏观上叫编译,这个宏观的编译又可以分解为四个子过程,分别是预处理汇编编译链接,子过程的编译和宏观的编译不是一个概念。......
  • Git恢复删除的文件,一行命令就可以啦~
    情况一:删除或者修改了某个文件,但是没有add#单个gitcheckoutfilename#多个gitcheckout.情况二:删除或者修改了某个文件,已经add,但是没有commit#单个gitchec......
  • jdbc+Druid工具类
    本文主要讲述使用druid连接池,将jdbc封装成工具类一.连接池  二.使用druid连接池在jdbc工具类的基础上,使用druid连接池,增加连接数量。hsp老师写的方式:/......
  • Spring:AOP
    目录场景模拟声明接口创建实现类创建带日志功能的实现类现有问题现有代码缺陷解决思路困难代理模式概念介绍生活中的代理相关术语静态代理动态代理测试AOP概念及相关术语概......
  • 试用ChatGPT
    主要参考&&转载:【1】中国区注册OpenAI账号试用ChatGPT【2】ChatGPT使用示例【3】如何编程调用OpenAI的ChatGPTAPI接口【4】OpenAIservicesarenotavailableinyo......