gpt4 book ai didi

java - 在 Eclipse 中使用 ical4j 的 ParserException

转载 作者:行者123 更新时间:2023-11-30 08:25:10 24 4
gpt4 key购买 nike

我正在尝试将银行假日从 ics 日历添加到日期对象的 ArrayList:

    public void loadHolidays()
{
try {
URL holidays = new URL("https://www.gov.uk/bank-holidays/england-and-wales.ics");
InputStream fin = holidays.openStream();

CalendarBuilder builder = new CalendarBuilder();
Calendar calendar = builder.build(fin);

for (Iterator<?> i = calendar.getComponents().iterator(); i.hasNext();) {
Component component = (Component) i.next();
SimpleDateFormat fm = new SimpleDateFormat("yyyyMMdd");
publicHolidays.add(fm.parse(component.getProperty("DTSTART").getValue()));
}

System.out.println("\t\tSuccess.");
} catch (IOException e) {
System.out.println("\t\tFailed. www.gov.uk/bank-holidays/england-and-wales.ics does not exist.");
} catch (ParserException | ParseException e) {
System.out.println("\t\tFailed. Format changed in iCalendar");
}
}

但是,我总是得到:

Exception in thread "main" java.lang.NoClassDefFoundError: net/fortuna/ical4j/data/ParserException at framework.GPSIS.main(GPSIS.java:29) Caused by: java.lang.ClassNotFoundException: net.fortuna.ical4j.data.ParserException

我在文件开头有导入:

import net.fortuna.ical4j.data.CalendarBuilder;
import net.fortuna.ical4j.data.ParserException;
import net.fortuna.ical4j.model.Calendar;
import net.fortuna.ical4j.model.Component;

我的 .classpath 包含:

<classpathentry exported="true" kind="lib" path="library/ical4j-1.0.5.jar"/>

我是 Eclipse 的新手,我想弄清楚我在这里遗漏了什么。

最佳答案

ParserException 的 catch block 实际上是格式错误的。管道 | 通常用于在同一 block 中捕获多个不同的异常(因为您将以相同的方式处理它们),而不是两次相同的异常:

catch(ParserException | ParserException e)

这里发生了什么,是 java 运行时将第一个 ParserException 与来自 ical4j 的导入进行匹配,然后寻找另一个 ParserException 来匹配第二个,但没有找到。

关于java - 在 Eclipse 中使用 ical4j 的 ParserException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22367962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com