当前位置: 首页 > 知识库问答 >
问题:

雷霆炮发射器:无法获得需要帮助的主要方法

吴欣然
2023-03-14

我正在尝试为Minecraft 1.7.10创建一个简单的发射器。然而,当我试图从net获取main方法时。地雷艇。客户主要的Main我得到错误:

Java语言lang.ClassNotFoundException:joptsimple/OptionSpec。

我试着研究其他启动器的代码,看看它们是如何绕过这个问题的,但我看不出有什么区别。

public Method getMainMethod() throws NoSuchMethodException, SecurityException, 
                                    ClassNotFoundException, IOException, 
                                    InstantiationException, IllegalAccessException  
{            
    return new URLClassLoader(new URL[] {new URL("file:///" + 
                                    MinecraftUtil.getBinFolder() + "/minecraft.jar")}, 
                                    URLClassLoader.getSystemClassLoader().getParent())
                                    .loadClass("net.minecraft.client.main.Main")
                                    .getMethod("main", String[].class);
}

这应该从minecraft.jar获取main方法并允许我调用它,但是如果我甚至尝试加载类,它会吐出joptSimple/optionspec错误。

共有1个答案

云文栋
2023-03-14

您也需要在此类加载器中包含Minecraft需要的所有库,如果您查看典型的Minecraft安装,您会注意到有\Library文件夹,其中包含许多子目录和其他. jar在它们的末尾,您需要加载所有需要的。

Minecraft使用配置文件来跟踪所需的库,应该有版本文件夹,每个版本都包含该版本的. jar和. json文件以及您需要加载的所有库:

"libraries": [
    {
        "name": "com.mojang:patchy:1.1",
        "downloads": {
            "artifact": {
                "size": 15817,
                "sha1": "aef610b34a1be37fa851825f12372b78424d8903",
                "path": "com/mojang/patchy/1.1/patchy-1.1.jar", 
                "url": "https://libraries.minecraft.net/com/mojang/patchy/1.1/patchy-1.1.jar"
            }
        }
    },

您可以找到的大小。jar文件、sha1校验和、该库目录中的路径,如果缺少,则提供下载链接。所以您可以实现launcher来下载丢失的库。

您可以使用这些现有概要文件,也可以创建自己的系统来跟踪需要包含在类加载器中的库<请注意,配置文件还包括运行游戏所需传递给Minecraft main方法的所有参数-您也需要这些参数。

 类似资料:
  • 我仍然是Java的新手,我正在努力使这个程序适合我的任务。 问题是: 杰夫在你家附近经营着一家当地的零售店。他已与您签订合同,让您创建一个交互式应用程序,以帮助他增加员工工资。创建一个名为 Details 的类,该类将包含员工 ID 号、名字、姓氏和薪水的获取和设置方法。包括一个名为getUpdateSalary()的方法,该方法将使员工的薪水增加10%。在您的主类中,包括一个名为 () 的静态方

  • 在我当前的项目中,我正在使用Maven和Spring。我目前正在使用SLF4J记录器来记录服务。代替它,我想使用OWASP-ESAPI记录器。我不想使用安全性,只是日志服务。有人能指导我如何使用记录器,用最少的努力替换slf4j记录器吗?我尝试了很多谷歌搜索,但没有任何帮助。我也会非常感谢一些链接来获得有关记录器的知识。

  • 这是主平衡分区 我正尝试通过以这种方式添加这两个分区来更新

  • 首先,我是C、C++、C#、Android和Swift的开发人员,但我绝对没有JavaScript、PHP或Web开发经验。 即只接受整数值的输入。 这是刀片代码:

  • 需要在 SQL 中将主键列更新为自动递增 我越来越不犯错, 关键字“身份”附近的语法不正确。

  • 我正在上Java课程的第三周。我正在做一个下星期要交的课堂作业。使用控制台作为输出,我可以毫无问题地完成分配,这是可以接受的。然而,教授也建议我们研究JTextArea,并考虑将其用于我们的程序输出。 我从一个教程中找到了一些代码,并且能够至少得到一个文本块来显示我要显示的第一行文本。但是在我编写实际程序时,我需要随着程序的进展继续向文本块添加额外的行。