QQ个性网:专注于分享免费的QQ个性内容

关于我们| 网站公告| 广告服务| 联系我们| 网站地图

搜索
AI 盘古大模型 智谱AI SenseNova 混元大模型 chatgpt 星火大模型 deepseek 安第斯大模型 文心一言 豆包 huggingface 通义千问 cursor MiLM claude 大模型 PaddlePaddle 360智脑

Cursor开发Spring项目,实战探索Spring AI 输出JAVA学习路径

日期:2025/04/06 04:10来源:未知 人气:52

导读:大家好,我是小波,今天继续分享!点上方蓝字 >> 点右上角… >> 设为星标 ★ 前面咱们通过两个游戏了解了Cursor编程写前端非常的方便,也很简单,随着技术的发展,后端也有了Spring AI和Spring Cloud Alibaba AI 由于后者涉及到微服务方面的知识,相对来说没那么方便演示,所以,咱们还是集中研究Spring AI, 当然,如果......

大家好,我是小波,今天继续分享!

点上方蓝字 >> 点右上角… >> 设为星标 ★

前面咱们通过两个游戏了解了Cursor编程写前端非常的方便,也很简单,随着技术的发展,后端也有了Spring AI和Spring Cloud Alibaba AI 由于后者涉及到微服务方面的知识,相对来说没那么方便演示,所以,咱们还是集中研究Spring AI, 当然,如果你对Spring Cloud Alibaba AI更感兴趣,也欢迎在评论区说说他在实战中有哪些优点。

我们还是使用Cursor,由于我这以前弄过JAVA项目,所以有些环境安装什么的就体现不了,你可以根据提示来进行安装就可以了,也没啥特别可讲的。

大家也可以参考链接如何用Spring AI规划咱们的JAVA学习路径?今天咱们用CodeGeex来演示! 进行对比了解。

咱们开始让他生成一个项目,尽量咱们也别太复杂,免得它理解不了。

我给的指令是:


在当前目录,而不是根目录,开发一个JAVA程序,利用Spring AI 发起一个提问: 学习JAVA可以分为哪几个阶段,每个阶段应该掌握哪些知识,通过可视化界面,看到反馈信息

自动生成代码的时候,它没有按我的想法去把代码生成到这个目录,我们只是为了探索Spring AI,没必要跟他较这个真,咱们就顺着它,用它创建的目录,来看项目代码

处理完成后,告诉我要java17和maven环境,可我这里还没升级到java17呢。

于是我跟他协商一下,看看是否JAVA8也可以支持运行


我这里没有JAVA17环境,能不能将项目改成JAVA8版本,以方便我运行

可以看到,用JAVA8也是能够支持的,修改完之后,要按照它给的提示进行操作,才能看到效果

我们来一步一步执行一下。

    cd ..\java-ai-learning\mvn spring-boot:run

这里我想到个问题,这个Cursor怎么配置maven的可执行程序路径和配置呢?

通过查资料我们知道了,是通过环境变量来确定的,咱们只需要把MAVEN的环境变量配置好,它就会自动使用。

下载依赖还是需要一些时间的。我们只能先等等。

为了加快点速度,我告诉他


我的本地仓库路径是 e:/mavenres/,可以使用这个仓库路径,减少文件下载

这样,它修复完pom.xml后,保存一下,再重新执行启动,这时候执行的命令也变了。

  • mvn spring-boot:run -Dmaven.repo.local=e:/mavenres

等待依赖的JAR包全部下载完,咱们再看看效果。

等到后面出错了


[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 04:23 min[INFO] Finished at: 2025-01-16T15:24:16+08:00[INFO] ------------------------------------------------------------------------[ERROR] No plugin found for prefix '.repo.local=e' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (C:\Users\41839.m2\repository), central (https://repo.maven.apache.org/maven2)] -> [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/NoPluginFoundForPrefixException

我们让它去修复这个问题

修复完成后,按它给的提示来运行

为了不那么麻烦,还是不给它指定本地仓库了,就按它默认的方式来运行。

继续等待依赖的JAR包全部下载完,咱们再看看效果。还是有报错


[ERROR] Failed to execute goal on project java-ai-learning: Could not resolve dependencies for project com.ailearning:java-ai-learning:jar:1.0-SNAPSHOT: Could not find artifact org.springframework.experimental:spring-ai-openai-spring-boot-starter:jar:0.7.0-SNAPSHOT in spring-snapshots (https://repo.spring.io/snapshot) -> [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/DependencyResolutionException

修复完后,再启动试试

  • mvn spring-boot:run

大概要等上20分钟左右,程序终于正常启动了,我们按照提示,在浏览器输入地址 http://localhost:8080,看看效果

可以看到提供了一个界面,其中有个按钮,用于获取学习建议,我们试试看。

正在获取,但我们回过头看后台,发现报错了。

连接超时了。我们再让它修复问题

在修复完成后,它有一段这样的提示,要修改配置参数


openai.api.key=your-openai-api-keyproxy.host=127.0.0.1proxy.port=7890

就是说我们需要一个 openai-api-key。 试试看可不可以让他去匹配一个可用的key

  • 可以找一个可用的openai-api-key来代替your-openai-api-key吗?

可以看到,它是不能去找可用的KEY的,也给出了注册账号的建议,同时也给出了其他的建议,比如用国内的大模型,百度,或者讯飞等。 由于OpenAI服务需要计费,为了保险起见,我们还是用讯飞的来做调试

改造完成后,也一样提示要有账号等信息

由于我之前注册过,所以我只要把信息拿到,改一下配置,就可以了。

改好之后,保存application.properties,再重启一下,又报错了,让它再修复一下。

修复完后,按照提示,执行命令

  • mvn clean install

可这时候出现了新的报错,再让它自己去解决一下

修复完成后,再执行

  • mvn clean install

重新下载相关的依赖包,毕竟讯飞AI的依赖包是不一样的。下载完成后,再重新启动:

  • mvn spring-boot:run

启动完成后,我们再回到界面,点击按钮,看看效果如何

咱们再修复这个问题

我们把所有的报错都丢给它,让它去自查和修复。

修复完成后,咱们再重启,试试看

出现了NULL,再让它去修复,修复完,再重启,再试!

这时候出现一个这样的错误,让它自己修复一下。


[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.7.18:run (default-cli) on project java-ai-learning: Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:2.7.18:run failed: Unable to find a single main classfrom the following candidates [com.example.Application, com.ailearning.Application] -> [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/PluginExecutionException

修复完,再重启试试。

可以看到不报错了,有数据返回了,不过不是我们所期望的数据,还要改进一下。


前端返回的数据是 {"timestamp":"2025-01-16T08:55:53.407+00:00","status":404,"error":"Not Found","path":"/api/java-learning"} 请检查前后端代码是否正确对接上了

修复完成后,再看界面调用怎么样。

这次出现了400,继续让它修复,修复完成后,还是没正常,这次是401,折腾了个把小时,结果是接口版本的问题,直到我把链接wss://spark-api.xf-yun.com/v4.0/chat 复制给他,他才意识到是版本的错误

不断地折腾之后,放弃了websocket ,改用http接口,也出现了不少的问题

比如

  • Error processing request: Failed to process request: 400 Bad Request: "{"error":{"message":"invalid param model is empty (sid: cha000bbdc5@dx1946e9d46b39a4b532)","type":"invalid_request_error","param":null,"code":"10005"}}"

用http接口也不行,最终还是放弃了,使用智谱的AI试试看,接口倒是能用,就是欠费了,尴尬

  • {"code":1113,"msg":"您的账户已欠费,请充值后重试。","success":false}

本来还想换用其他的接口,结果都失败了。

虽然失败了,但是我们也基本上清楚了,我们可以直接调用API,在后端进行AI大模型的查询和输出,虽然不知道最终格式会是什么样子,但基本上跟我们平时调接口差不多。

通过一个简单项目的实战,我们也可以看出Cursor用来做java开发还是存在不少的局限性,特别是一些收费项目来说,可能并不是最佳的实践选择,但完全可以给我们生成大量的,对于项目有参考价值的完整源代码,这个意义也是非常大的。

后来就采用了Codegeex来做同样的探索,参考文章如何用Spring AI规划咱们的JAVA学习路径?今天咱们用CodeGeex来演示!

今天的分享就到这里,虽然今天不是那么的成功,但至少可以知道Cursor也可以写JAVA代码,JAVA也可以通过Spring AI去做我们想要做的事情,比如查询想要的信息。也欢迎大家在评论区探讨Spring AI的特性和用途!

后续我还会分享更多的知识,点个“在看 ”,分享给更多爱学习的小伙伴们!

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2023 某某QQ个性网 版权所有 | 备案号:粤ICP备xxxxxxxx号

声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告