当前位置: 首页 > wzjs >正文

wordpress时间搜索引擎优化排名品牌

wordpress时间,搜索引擎优化排名品牌,互联网金融p2p网站建设模板,临沂网站设计公司原文链接:Minecraft Fabric - java.lang.NoClassDefFoundError HttpUriRequest 0.引言 在开发Fabric插件时难免需要引用外部库,如http客户端,websocket客户端之类。在IDEA内构建插件一切正常,也开启项目内的服务器进行测试&#…

原文链接:Minecraft Fabric - java.lang.NoClassDefFoundError HttpUriRequest

0.引言

在开发Fabric插件时难免需要引用外部库,如http客户端,websocket客户端之类。在IDEA内构建插件一切正常,也开启项目内的服务器进行测试,插件也能正常实现功能。于是就直接将构建后的插件丢给服主(帮一个在玩的服务器写的聊天互通插件)。但没一会就一堆消息发来说服务器一启动就会崩溃,我非常奇怪,明明在我电脑上能正常运行,为啥到其他电脑上就不行了??

后面一检查问题:java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest

欸,很明显是缺少了HttpClient这个库,于是在网上查了很久。不得不吐槽一下国内Fabric模组开发环境,就不说有没有人去写模组了,毕竟闷声发大财的大佬挺多。但真的很少人去发Fabric相关的文章,就本文所提的Fabric缺库这个问题根本查不到,都是一些让引入依赖项,或者与Fabric无关的解决方法。那让我们看看怎么解决这个问题吧。

1. 解决方案

本方案适用于Gradle,Maven没用过请自行寻找解决方案。(毕竟官方的项目构建器默认用的Gradle)。先直接给出解决方法,然后再来说说为什么用Shadow Gradle这类Gradle插件不行。

你需要前往 build.gradledependencies 块中,使用 include (这个是Fabric Loom的独有方法,晚上依然查不到)方法添加包名。在构建时就会自动下载指定包并在构建时一并嵌入。

可以看到除了httpclient库,还引用了slf4j库。Apache组件普遍依赖commons-logging,我们可以将commons-logging重定向并使用slf4j输出日志。

我们可以用 jar tf xxx.jar查看打包后的jar结构,可以看到我们需要的依赖库也被打包进插件中了

包名不知道写什么?这一部分可以完全借助AI,例如:

提示词:
我开发的Fabric插件代码中引用了这些包
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
运行时:java.lang.NoClassDefFoundError: org/apache/http/HttpRequest
应该如何在 build.gradle的dependencies块中用include方法补全缺失包?

Q: 为什么不是用implementation而是include

A:
implementation
- 仅声明编译和运行时依赖
- 不会自动将依赖库打包到你的最终模组 JAR 文件中
- 适用于 Minecraft/Fabric API 这种已经由游戏本身提供的依赖

include
- 是 Fabric Loom 提供的特殊方法
- 会强制将依赖库打包到你的模组 JAR 中
- 适用于需要随模组分发的第三方库

2. 为什么 Shadow Gradle 不行?

Shadow Jar 是一个用于创建包含所有依赖项的可执行 JAR 文件的 Gradle 插件。它的主要目的是将项目的所有依赖项(包括传递依赖)合并到一个独立的可执行 JAR 文件中,以简化应用程序的部署和分发。

但是!如果我们用这个插件来打包Fabric插件,他会不仅会把项目中的所有依赖项打包进jar,而且还会破坏掉Fabric插件结构,使得无法被Fabric Loader加载。

通过上面的手动指定依赖项的方式打包插件,最终大小仅1.1MB

而通过 Shadow Gradle打包的插件,大小达到97MB,打开包查看发现塞了很多无关的东西。

http://www.dtcms.com/wzjs/344673.html

相关文章:

  • 网页设计基础课件苏州seo整站优化
  • 郑州网站建设费用seo优化搜索结果
  • 海口房地产网站建设100个裂变营销案例
  • tq网站建设域名是什么意思呢
  • 什么网站上做效果图可以赚钱网站优化 seo和sem
  • 时空网站建设的可行性分析江苏seo网络
  • 做交易网站什么开发语言百度推广入口官网
  • 电脑自带的做网站叫什么搜索引擎推广
  • 农村建水上乐园赚钱吗山西seo谷歌关键词优化工具
  • 谈谈你对网站开发的理解今日冯站长之家
  • 做网站大概多钱南宁seo全网营销
  • 佛山个性化网站搭建端口扫描站长工具
  • 有哪个网站是成都中科大旗做的成都比较靠谱的seo
  • 新乡住房与城乡建设厅网站南京seo外包平台
  • 自己做团购网站怎么样信息流广告案例
  • 网站开发前景怎么样链接式友谊
  • 百度网站邀您点评百度竞价点击价格公式
  • wordpress网站模板下载失败免费百度下载
  • 网络公司网站建设服务草根seo视频大全网站
  • 东莞网站推广定制公司自己做网站网页归档
  • 哪些网站是做免费推广的重庆seowhy整站优化
  • 网站开发设计软件线下推广方法有哪些
  • 飞色网站商城怎么做微信小程序免费制作平台
  • 找人做网站要拿到源代码吗宁波免费seo排名优化
  • asp.net 网站安全 检测站长工具域名查询
  • 建立了公司门户网站google收录提交入口
  • 广东网站建设有限公司seo从0到1怎么做
  • 宿迁做百度网站地点seo外链发布软件
  • 优秀网页设计代码国内seo排名分析主要针对百度
  • 网站建设与规划实训总结站长seo查询工具