Comments (5)
Keep it open for now, i will have a closer look to see if I can make any improvements. Thanks for reporting.
from ical4j.
I've made an adjustment to prevent the null pointer exception, by deferring log initialisation until after config is loaded
from ical4j.
Ah, looking closer it actually makes sense, as this code is triggered from the initialization of Configurtor.LOG
, which is before the initialization of Configurtor.CONFIG
. I'll look into this some more (though now I'm confused this doesn't happen during local development :) )
Jul 29 13:16:57 server calendar-export-start[165498]: Exception in thread "main" java.util.ServiceConfigurationError: java.time.zone.ZoneRulesProvider: Provider net.fortuna.ical4j.model.DefaultZoneRulesProvider could not be instantiated
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:586)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:813)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:729)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1403)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.time.zone.ZoneRulesProvider.<clinit>(ZoneRulesProvider.java:177)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.time.ZoneRegion.ofId(ZoneRegion.java:121)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.time.ZoneId.of(ZoneId.java:411)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.time.ZoneId.of(ZoneId.java:359)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.time.ZoneId.of(ZoneId.java:315)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.util.TimeZone.toZoneId0(TimeZone.java:605)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.util.TimeZone.toZoneId(TimeZone.java:582)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.util.TimeZone.toZoneId0(TimeZone.java:594)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.util.TimeZone.toZoneId(TimeZone.java:582)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.time.ZoneId.systemDefault(ZoneId.java:275)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.core.util.CachingDateFormatter.<init>(CachingDateFormatter.java:57)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.core.util.CachingDateFormatter.<init>(CachingDateFormatter.java:52)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.core.util.CachingDateFormatter.<init>(CachingDateFormatter.java:48)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.classic.layout.TTLLLayout.<init>(TTLLLayout.java:40)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.classic.BasicConfigurator.configure(BasicConfigurator.java:51)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.classic.util.ContextInitializer.invokeConfigure(ContextInitializer.java:128)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:103)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:66)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.classic.spi.LogbackServiceProvider.initializeLoggerContext(LogbackServiceProvider.java:52)
Jul 29 13:16:57 server calendar-export-start[165498]: at ch.qos.logback.classic.spi.LogbackServiceProvider.initialize(LogbackServiceProvider.java:41)
Jul 29 13:16:57 server calendar-export-start[165498]: at org.slf4j.LoggerFactory.bind(LoggerFactory.java:196)
Jul 29 13:16:57 server calendar-export-start[165498]: at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:183)
Jul 29 13:16:57 server calendar-export-start[165498]: at org.slf4j.LoggerFactory.getProvider(LoggerFactory.java:486)
Jul 29 13:16:57 server calendar-export-start[165498]: at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:472)
Jul 29 13:16:57 server calendar-export-start[165498]: at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:421)
Jul 29 13:16:57 server calendar-export-start[165498]: at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.util.Configurator.<clinit>(Configurator.java:54)
Jul 29 13:16:57 server calendar-export-start[165498]: at KalenderAlgemeen$package$.kalenderAlgemeen(KalenderAlgemeen.scala:136)
Jul 29 13:16:57 server calendar-export-start[165498]: at kalenderAlgemeen.main(KalenderAlgemeen.scala:134)
Jul 29 13:16:57 server calendar-export-start[165498]: Caused by: java.lang.ExceptionInInitializerError
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.model.TemporalAdapter.<clinit>(TemporalAdapter.java:37)
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.model.property.DateProperty.setDate(DateProperty.java:171)
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.model.property.DtStart.<init>(DtStart.java:144)
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.model.TimeZoneLoader.<clinit>(TimeZoneLoader.java:49)
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.model.DefaultZoneRulesProvider.<init>(DefaultZoneRulesProvider.java:32)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
Jul 29 13:16:57 server calendar-export-start[165498]: at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:789)
Jul 29 13:16:57 server calendar-export-start[165498]: ... 31 more
Jul 29 13:16:57 server calendar-export-start[165498]: Caused by: java.lang.NullPointerException: Cannot invoke "java.util.Properties.getProperty(String)" because "net.fortuna.ical4j.util.Configurator.CONFIG" is null
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.util.Configurator.getProperty(Configurator.java:77)
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.util.TimeZones.getDefault(TimeZones.java:85)
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.model.TemporalComparator.<init>(TemporalComparator.java:27)
Jul 29 13:16:57 server calendar-export-start[165498]: at net.fortuna.ical4j.model.TemporalComparator.<clinit>(TemporalComparator.java:20)
Jul 29 13:16:57 server calendar-export-start[165498]: ... 40 more
from ical4j.
I've worked around this for now by making sure I'm initializing the logger before touching ical4j.
Do you want to keep this open to try and see if there's any way to avoid it from ical4j, or do you want to close it and consider it SEP?
from ical4j.
Great!
And thanks again for such a nice library, the calculateRecurrenceSet
was especially helpful - I'm using it to generate some reports and overviews from our shared NextCloud calendar at museum EICAS
from ical4j.
Related Issues (20)
- Possible recur bug? HOT 1
- Value comparisons for enumerated values should be case insensitive HOT 3
- ComponentValidator has incorrect rules
- IndexOutOfBoundsException in ZoneRulesBuilder.buildTransitionRules when BYDAY is missing in RRULE in VTIMEZONE
- Unnecessary WARN in the log HOT 1
- Memory Leak when using CalendarBuilder HOT 3
- Create a Version 4.0 Release HOT 4
- module-info.java is incomplete in 4.0.0 and 4.0.1 HOT 7
- TimeZoneRegistryImpl attempts to load classpath resources from non-existent locations HOT 1
- timezone UTC not recognized in 4.0.1 HOT 8
- event.calculateRecurrenceSet() throwing IllegalArgumentException with ical 4.0.1 HOT 7
- Generic type definiton seems to be ignored HOT 4
- Ical4j 4.0.1 introduced duplicated classes
- MS timezone "Central America Standard Time" is transformed with DST
- Error loading timezone aliases - these dont exist in the locations specified in the code HOT 1
- VAlarm cannot be cast to class CalendarComponent HOT 2
- Version 4.0.2 ~40% slower than 3.2.18 HOT 2
- The Recur getDates method does not handle the transition from daylight saving to standard time the same in 4.x
- Proguard breaks ical4j
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ical4j.