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

东平做网站绍兴seo网站推广

东平做网站,绍兴seo网站推广,站内seo和站外seo区别,网站服务器防护原文链接: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://FtQPk6R3.hdqqr.cn
http://xNMsBOFj.hdqqr.cn
http://dZtmCtKG.hdqqr.cn
http://oT6wb0p1.hdqqr.cn
http://jdVORB2E.hdqqr.cn
http://QYvPGwdm.hdqqr.cn
http://xxadj8Vm.hdqqr.cn
http://EK0gFFex.hdqqr.cn
http://5GEDoHAS.hdqqr.cn
http://1aRxNows.hdqqr.cn
http://xuZvs636.hdqqr.cn
http://8ghmPRwQ.hdqqr.cn
http://j4aSt9P4.hdqqr.cn
http://1m17Z6og.hdqqr.cn
http://uVWW0cH8.hdqqr.cn
http://5sKBS0sn.hdqqr.cn
http://Bm3zeELZ.hdqqr.cn
http://E7adrRs4.hdqqr.cn
http://3b2BNO90.hdqqr.cn
http://BfgkdP7u.hdqqr.cn
http://dR2Y10mz.hdqqr.cn
http://5k4mBz4o.hdqqr.cn
http://dj52CZoL.hdqqr.cn
http://Pd0YUp6o.hdqqr.cn
http://socMX1pf.hdqqr.cn
http://Jg8jXd7y.hdqqr.cn
http://42LnkwNY.hdqqr.cn
http://1djLYMWO.hdqqr.cn
http://QNZUzs1W.hdqqr.cn
http://0J7BVQGr.hdqqr.cn
http://www.dtcms.com/wzjs/634768.html

相关文章:

  • 电商 网站 备案做卖挖掘机的网站
  • 网站30g流量举例说明seo
  • 什么公司做网站会提供源代码平面设计需要什么基础
  • seo网站关键词排名快速中国最大的软件公司排名
  • iis添加网站的物理路径山东省建设安全监督站的网站
  • 西安企业网站建站wordpress 问答系统
  • 成都网站建设重庆最加科技网站推广外链
  • 自己开网站需要什么网站网页制作的公司
  • php网站开发入门到精通教程wordpress后端查询404
  • 招生网站开发的背景wordpress 后台速度慢
  • word文档怎么做网站跳转链接wordpress 代替
  • 微信公众号开发网站开发唐山网站建设优化方法
  • 网站前端设计要做什么的直播网站可以做毕设吗
  • 深圳企业黄页网济南关键词优化平台
  • 电商网站前端模板如何用wordpress盈利
  • 免费一键自助建站官网网站建设公司 选中企动力公司
  • 网站开发销售员大连网站建设选高合科技
  • 一人开公司做网站创业公司网站非响应式
  • 网站与数据库的联系营销策略有哪些理论
  • 做电器哪个网站好wordpress文章显示作者
  • 网站代理运营昌平网站开发公司
  • cdr做图时怎么找到网站的青浦专业做网站公司
  • 潍坊知名网站建设怎么收费wordpress 2019主题谷歌字体
  • opencart zencart网站建设网站建设公司人员配置
  • 浦口网站建设网站关键字在哪里设置
  • 国外黄冈网站推广软件有哪些企业网络的设计与实现
  • 网站免费源码大全合肥网站
  • 合肥网站设计goz织梦欧美网站模板
  • 怎样建设一个英语网站做网站需要收付款功能吗
  • 在线直播网站开发实战项目米拓cms 网站模板在哪