首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当调用IllegalArgumentException ()时.buildConfiguration

当调用IllegalArgumentException ()时.buildConfiguration
EN

Stack Overflow用户
提问于 2016-02-19 02:31:55
回答 1查看 77关注 0票数 0

因此,我为用PircBotX制作的IRC机器人设置了一个INI文件,现在在.buildConfiguration()中抛出一个IllegalArgumentException。

代码:

代码语言:javascript
复制
public Craftxbot() throws IOException{
    File inicheck = new File("config.ini");
    if(!inicheck.exists()){
        System.out.println("Configuration file not found, Making one.");
        inicheck.createNewFile();
        Wini ini = new Wini(new File("config.ini"));
        ini.add("Config");
        System.out.print("Nickname: ");
        ini.put("Config", "nick", input.next());
        System.out.print("Server Hostname: ");
        ini.put("Config", "serverHostname", input.next());
        System.out.print("Server Port: ");
        ini.put("Config", "serverPort", input.nextInt());
        System.out.print("Default Channel: ");
        ini.put("Config", "defaultChannel", input.next());
        System.out.flush();
    }
    Wini ini = new Wini(new File("config.ini"));
    System.out.print("Nickserv Password: ");
    System.out.flush();
    String nickpass = input.next();
    Configuration<PircBotX> alpha = new Configuration.Builder<PircBotX>()
            .setName(ini.get("Config", "nick"))
            .setLogin("Craftxbot-Dev")
            .setNickservPassword(nickpass)
            .setAutoNickChange(true)
            .setServerHostname(ini.get("Config", "serverHostname"))
            .setServerPort(ini.get("Config", "serverPort", int.class))
            .addAutoJoinChannel(ini.get("Config", "defaultChannel"))
            .addListener(new Commands())
            .addListener(new EventHandler())
            .addListener(new PrivMsg())
            .buildConfiguration();

堆栈跟踪:

代码语言:javascript
复制
Exception in thread "main" java.lang.IllegalArgumentException: Must specify name
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:93)
at org.pircbotx.Configuration.<init>(Configuration.java:128)
at org.pircbotx.Configuration$Builder.buildConfiguration(Configuration.java:589)
at tk.craftxbox.bot.Craftxbot.<init>(Craftxbot.java:61)
at tk.craftxbox.bot.Craftxbot.main(Craftxbot.java:27)

在添加INI文件之前,它运行得很好,并且按照预期工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-19 14:36:09

很可能您的ini.get调用正在返回null。这样做的一个原因是,在编写完所有的值之后,您从不使用ini.store()。如果您查看这里的示例:http://ini4j.sourceforge.net/tutorial/OneMinuteTutorial.java.html,您必须在编写值之后调用store()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35496285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档