Skip to content

Remove java packages from OSGi Import-Package directives #4733

@axeluhl

Description

@axeluhl

I'm using org.eclipse.tycho.surefire.junit59-4.0.12.jar for a Maven/Tycho build including surefire tests.

I'm currently using the following in my target platform definition:

The error message I'm seeing is this:

!ENTRY org.eclipse.osgi 4 0 2025-07-07 14:34:24.651
!MESSAGE Error installing bundle: reference:file:../../../../../../../.m2/repository/org/eclipse/tycho/org.eclipse.tycho.surefire.junit59/4.0.12/org.eclipse.tycho.surefire.junit59-4.0.12.jar
!STACK 0
org.osgi.framework.BundleException: Invalid manifest header Import-Package: "java.io" : Cannot specify java.* packages in Import/Export headers "java.io"
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.checkImportExportSyntax(OSGiManifestBuilderFactory.java:147)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.validateHeaders(OSGiManifestBuilderFactory.java:118)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:78)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:56)
at org.eclipse.osgi.storage.Storage.getBuilder(Storage.java:587)
at org.eclipse.osgi.storage.Storage.install(Storage.java:514)
at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146)
at org.eclipse.core.runtime.adaptor.EclipseStarter.installBundles(EclipseStarter.java:966)
at org.eclipse.core.runtime.adaptor.EclipseStarter.loadBasicBundles(EclipseStarter.java:575)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:311)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

!ENTRY org.eclipse.osgi 4 0 2025-07-07 14:34:24.654
!MESSAGE Error installing bundle: reference:file:../../../../../../../.m2/repository/p2/osgi/bundle/junit-platform-launcher/1.11.3/junit-platform-launcher-1.11.3.jar
!STACK 0
org.osgi.framework.BundleException: Invalid manifest header Import-Package: "java.io" : Cannot specify java.* packages in Import/Export headers "java.io"
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.checkImportExportSyntax(OSGiManifestBuilderFactory.java:147)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.validateHeaders(OSGiManifestBuilderFactory.java:118)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:78)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:56)
at org.eclipse.osgi.storage.Storage.getBuilder(Storage.java:587)
at org.eclipse.osgi.storage.Storage.install(Storage.java:514)
at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146)
at org.eclipse.core.runtime.adaptor.EclipseStarter.installBundles(EclipseStarter.java:966)
at org.eclipse.core.runtime.adaptor.EclipseStarter.loadBasicBundles(EclipseStarter.java:575)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:311)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

!ENTRY org.eclipse.osgi 4 0 2025-07-07 14:34:24.701
!MESSAGE Error installing bundle: reference:file:../../../../../../../.m2/repository/p2/osgi/bundle/junit-jupiter-engine/5.11.3/junit-jupiter-engine-5.11.3.jar
!STACK 0
org.osgi.framework.BundleException: Invalid manifest header Import-Package: "java.io" : Cannot specify java.* packages in Import/Export headers "java.io"
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.checkImportExportSyntax(OSGiManifestBuilderFactory.java:147)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.validateHeaders(OSGiManifestBuilderFactory.java:118)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:78)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:56)
at org.eclipse.osgi.storage.Storage.getBuilder(Storage.java:587)
at org.eclipse.osgi.storage.Storage.install(Storage.java:514)
at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146)
at org.eclipse.core.runtime.adaptor.EclipseStarter.installBundles(EclipseStarter.java:966)
at org.eclipse.core.runtime.adaptor.EclipseStarter.loadBasicBundles(EclipseStarter.java:575)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:311)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

!ENTRY org.eclipse.osgi 4 0 2025-07-07 14:34:24.706
!MESSAGE Error installing bundle: reference:file:../../../../../../../.m2/repository/p2/osgi/bundle/junit-jupiter-api/5.11.3/junit-jupiter-api-5.11.3.jar
!STACK 0
org.osgi.framework.BundleException: Invalid manifest header Import-Package: "java.io" : Cannot specify java.* packages in Import/Export headers "java.io"
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.checkImportExportSyntax(OSGiManifestBuilderFactory.java:147)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.validateHeaders(OSGiManifestBuilderFactory.java:118)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:78)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:56)
at org.eclipse.osgi.storage.Storage.getBuilder(Storage.java:587)
at org.eclipse.osgi.storage.Storage.install(Storage.java:514)
at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146)
at org.eclipse.core.runtime.adaptor.EclipseStarter.installBundles(EclipseStarter.java:966)
at org.eclipse.core.runtime.adaptor.EclipseStarter.loadBasicBundles(EclipseStarter.java:575)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:311)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

!ENTRY org.eclipse.osgi 4 0 2025-07-07 14:34:24.744
!MESSAGE Error installing bundle: reference:file:../../../../../../../.m2/repository/p2/osgi/bundle/junit-platform-commons/1.11.3/junit-platform-commons-1.11.3.jar
!STACK 0
org.osgi.framework.BundleException: Invalid manifest header Import-Package: "java.io" : Cannot specify java.* packages in Import/Export headers "java.io"
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.checkImportExportSyntax(OSGiManifestBuilderFactory.java:147)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.validateHeaders(OSGiManifestBuilderFactory.java:118)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:78)
at org.eclipse.osgi.container.builders.OSGiManifestBuilderFactory.createBuilder(OSGiManifestBuilderFactory.java:56)
at org.eclipse.osgi.storage.Storage.getBuilder(Storage.java:587)
at org.eclipse.osgi.storage.Storage.install(Storage.java:514)
at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146)
at org.eclipse.core.runtime.adaptor.EclipseStarter.installBundles(EclipseStarter.java:966)
at org.eclipse.core.runtime.adaptor.EclipseStarter.loadBasicBundles(EclipseStarter.java:575)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:311)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

All these bundles contain MANIFEST.MF files that use Import-Package: headers with java.* packages making OSGi/Equinox fail upon strict validation.

I think those bundles should not contain these Import-Package: specifiers for java.* packages. Maybe this is an artifact of how the manifests are built?

Metadata

Metadata

Assignees

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions