eclipse-birt / birt

Eclipse BIRT™ The open source reporting and data visualization project.
http://www.eclipse.org/birt
Eclipse Public License 2.0
457 stars 394 forks source link

birt 17/18 #1939

Closed NoLamprecht closed 1 month ago

NoLamprecht commented 1 month ago

div Birt Problems

in all doc ->config.setEngineHome( "...ReportEngine" ); ist false !!!!!!!!! since 10 years ...ReportEngine\platform is accepted from birt

birt 15 runs with problems in header after page - the "header on every page" has no funktion

birt 17 IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY); returns null

even so birt 18 latest

its not so lucky that in report/libs are jars without module info - that is 10 years old ..... and its not to use

speckyspooky commented 1 month ago

It woudl be good if you can provide a demo report for the word-topic then we can take a look into it.

Your common decription is not really clear so I din't understand your problem with the 10-year, please be more detailed.

You are welcome to publish PRs which solve the problems. It is open source and you are welcome to improve the BIRT product.

I use the product not integrated in a java environment so you mentioned specific topics where not all people nows what you mean or can solve it for you.

NoLamprecht commented 1 month ago

Hello, the discussion is round OSGI ONLY

i support 10 projects 7 with birt all desktop javafx software 300 reports

the last very good version was 4.6 - all after are instable or not runnable now version 15 runs

now version 17 in test a) Error occurred during initialization of boot layer java.lang.module.FindException: Unable to derive module descriptor for C:\prog17\BwPrintCore\birt-runtime\ReportEngine\lib\javax.wsdl_1.6.3.v20230730-0710.jar Caused by: java.lang.IllegalArgumentException: javax.wsdl.1.6.3.v20230730: Invalid module name: '1' is not a Java identifier

ehh so oldjars in lib ???

also i delete the jars

i build a little test version - than the next post

mr0reed137 commented 1 month ago

I ecounter same problem with Birt 4.17 (OSGI) in Java-Environment. The birt-log provides the following message, in case that it is useful for fixing the problem:

!SESSION 2024-10-16 13:28:59.421 ----------------------------------------------- eclipse.buildId=unknown java.version=21.0.2 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE

!ENTRY org.eclipse.birt.core 4 0 2024-10-16 13:28:59.421 !MESSAGE FrameworkEvent ERROR !STACK 0 org.osgi.framework.BundleException: Could not resolve module: org.eclipse.birt.core [3] Unresolved requirement: Import-Package: javax.servlet

at org.eclipse.osgi.container.Module.start(Module.java:493)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:2074)
at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:143)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:2065)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:2007)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1968)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1884)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:341)

!ENTRY org.eclipse.osgi 4 0 2024-10-16 13:28:59.424 !MESSAGE Bundle initial@reference:file:plugins/org.eclipse.birt.core_4.17.0.v202407160936.jar was not resolved.

speckyspooky commented 1 month ago

@wimjongman & @merks May be you have some hints for the OSGi-integration problems.

The problem 1: Caused by: java.lang.IllegalArgumentException: javax.wsdl.1.6.3.v20230730: Invalid module name: '1' is not a Java identifier sounds like a possible integration topic and could be solved with "module-info.java" (see: module-info.java)

The problem 02: Unresolved requirement: Import-Package: javax.servlet, it is a familiar topic with unresolved modules or is the required package "javax.servlet" really missing.

merks commented 1 month ago

The first error doesn't sound like an OSGi error but rather an error you might get when you try to use a jar on the java module path.

The package mentioned in the second error comes from this jar:

image

Without details about what the user is doing to set up the classpath or OSGi environment it's not possible to answer the question. The runtimes we redistribute tested that they launch without these errors...

mr0reed137 commented 1 month ago

@merks We integrate Birt via OSGI in a java-webapp (Java 21 as Runtime Environment and Apache Tomcat 9.0.86). (btw: Birt 4.14 is running just fine with this setup)

The Birt Engine from the osgi-zip is located in our webapp-war under WEB-INF/birt/reportEngine (folders plugins and configuration from the osgi-zip) and birt engine is configurated and started via the suggested setup accoring to the bit-documentation (see here: https://eclipse-birt.github.io/birt-website/docs/integrating/reapi).

Also: I'm not sure if this means anything, but I notice that there are considerably fewer files in the OSGI zip (in ReportEngine/platform/plugins) as of version 4.17.0 (before version 4.17.0 there were about 250 files, as of version 4.17.0 only about 150 files). Is this intentional, or has something “gone missing”?

merks commented 1 month ago

Yes, we reduced the content significantly. E.g., there were many Eclipse UI dependencies that just didn't belong.

https://github.com/eclipse-birt/birt/pull/1834

I can see the the bundle providing the package is available here in the zip:

image

We do test both runtimes:

https://ci.eclipse.org/birt/job/build/job/master/lastCompletedBuild/testReport/org.eclipse.birt.sdk/

So I'm really not sure what else to tell you.

wimjongman commented 1 month ago

To test that everything works as expected download the birt-runtime-osgi-4.17.0-202409160710.zip file from the downloads area and extract it somewhere.

Then open a command line and navigate to the ReportEngine directory

Then run genReportwithout any parameters to show the help.

Then run genReport -m runrender -f PDF -o out -p "paramList=1" -p "paramInteger=123" -p "paramString=Hello, Birt" samples\hello_world.rptdesign

The PDF will be created in the out directory.

speckyspooky commented 1 month ago

The commandline execution of BIRT 4.17 works like expected. The demo-report was created correctly:

grafik

mr0reed137 commented 1 month ago

Thanks for the tipp on how to test the engine. I did that and it its not working when I have a special character in the path (e.g. "...#test..." vs "....test...."). If I remove the special character, then it is working just fine.

birt-test

So I will have to check if this is related to my problem, when starting via Java-Application...