Portico is an open source, cross-platform, fully supported HLA RTI implementation. Designed with modularity and flexibility in mind, Portico is a production-grade RTI for the Simulation and Training Community, so come say hi!
For code brevity I did what nobody should ever do – I quietly extended the HLA spec. I added an extra constructor to all the standard exceptions that directly took a Throwable, rather than requiring (String,Throwable).
This is fine... most of the time. When isn’t it? Any time you have the standard interfaces on the classpath ahead of the portico jar.
In that case, the standard interfaces get loaded first (without extra constructor), and you get a MethodNotFoundError whenever Portico tries to create one.
Fixed by:
Expanding all exception creation calls to use the standard version
Removing the non-standard constructor from every exception I added
it to
Lesson that should never have to be learnt: Learnt
For code brevity I did what nobody should ever do – I quietly extended the HLA spec. I added an extra constructor to all the standard exceptions that directly took a Throwable, rather than requiring (String,Throwable).
This is fine... most of the time. When isn’t it? Any time you have the standard interfaces on the classpath ahead of the portico jar.
In that case, the standard interfaces get loaded first (without extra constructor), and you get a
MethodNotFoundError
whenever Portico tries to create one.Fixed by:
Lesson that should never have to be learnt: Learnt