<p>Hi,</p>
<p> </p>
<p>My project works well with Birt runtime using the Eclipse platform to develop.</p>
<p> </p>
<p>But now I would like to make it a bit more industrializable, and want to switch to Maven.</p>
<p> </p>
<p>I already opened a <a data-ipb='nomediaparse' href='
http://stackoverflow.com/questions/36593124/add-specific-plugins-and-config-when-using-birt-with-maven'>question on stackoverflow </a>about it which I copy here:</p>
<p> </p>
<div>
<p>I've got a Maven jar project in which I use Birt in order to generate some PDF.</p>
<p>In order to use Birt engine, I've just added this dependency to my <dependencies>:</p>
<span><dependency></span><br><span><groupId></span><span>org.eclipse.birt.runtime</span><span></groupId></span><br><span><artifactId></span><span>org.eclipse.birt.runtime</span><span></artifactId></span><br><span><version></span><span>4.4.2</span><span></version></span><br><span></dependency></span>
<p>I run my main class using <a data-ipb='nomediaparse' href='
http://www.mojohaus.org/exec-maven-plugin/java-mojo.html'>mvn exec:java</a>.</p>
<p>My question is: when I was using the Birt runtime without Maven, I could add plugins in the plugins dir and modify plugins/org.eclipse.birt.report.engine.fonts_4.4.2.v201410272105/fontsConfig.xml in order to add specific <font-paths><path ..., how can I do this using this Maven environment?</p>
<p>I'm not sure also which path I must give to org.eclipse.birt.core.framework.PlatformConfig.setBIRTHome(String) or org.eclipse.birt.report.engine.api.EngineConfig.setEngineHome(String) now.</p>
<p>I've tried to follow <a data-ipb='nomediaparse' href='
http://www.eclipse.org/birt/documentation/integrating/reapi.php'>the guide</a> and used config.setEngineHome("absolute_path_to_a_4.4.2_osgi_birt_runtime") but then I've got that stacktrace (inside a call to factory.createReportEngine(config)):</p>
<span>java.lang.NullPointerException<br>
at org.eclipse.birt.report.engine.api.impl.ReportEngine$EngineExtensionManager.</span><span><init></span><span>(ReportEngine.java:822)<br>
at org.eclipse.birt.report.engine.api.impl.ReportEngine.</span><span><init></span><span>(ReportEngine.java:111)<br>
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$1.run(ReportEngineFactory.java:18)<br>
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$1.run(ReportEngineFactory.java:1)<br>
at java.security.AccessController.doPrivileged(Native Method)<br>
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory.createReportEngine(ReportEngineFactory.java:14)</span>
<p>It seems that <a data-ipb='nomediaparse' href='
http://grepcode.com/file/repo1.maven.org/maven2/org.eclipse.birt.runtime/org.eclipse.birt.runtime/4.4.2/org/eclipse/birt/report/engine/api/impl/ReportEngine.java#822'>Platform.getExtensionRegistry()</a> returns null...</p>
</div>
<p> </p>
<p>If I don't call config.setEngineHome nor config.setBIRTHome, then I've got org.eclipse.birt.report.engine.api.impl.ParameterValidationException: Required parameter myParam is not set., error that I didn't have before migrating to Maven (actually, my rptdesign use myParam from a linked library).</p>
<p> </p>
<p>Does someone here has a clue?</p>