Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[glassfish-dev] OSGi help - GlassFish won't start with Jakarta Mail 2.0.0-RC3

I've updated my fork of GlassFish to use the jakarta.* versions of
Jakarta Activation and Jakarta Mail.  The build went fine, but
unfortunately GlassFish fails to start.  Here's the relevant error:

     [exec] Caused by: org.osgi.framework.BundleException: Unable to resolve
org.glassfish.main.webservices.connector [111](R 111.0): missing requirement
[org.glassfish.main.webservices.connector [111](R 111.0)] osgi.wiring.package;
(&(osgi.wiring.package=org.glassfish.web.deployment.descriptor)(version>=6.0.0)(!(version>=7.0.0)))
[caused by: Unable to resolve org.glassfish.main.web.glue [189](R 189.0):
missing requirement [org.glassfish.main.web.glue [189](R 189.0)]
osgi.wiring.package;
(&(osgi.wiring.package=org.apache.catalina)(version>=6.0.0)(!(version>=7.0.0)))
[caused by: Unable to resolve org.glassfish.main.web.core [119](R 119.0):
missing requirement [org.glassfish.main.web.core [119](R 119.0)]
osgi.wiring.package;
(&(osgi.wiring.package=org.apache.naming.factory)(version>=6.0.0)(!(version>=7.0.0)))
[caused by: Unable to resolve org.glassfish.main.web.naming [104](R 104.0):
missing requirement [org.glassfish.main.web.naming [104](R 104.0)]
osgi.wiring.package;
(&(osgi.wiring.package=jakarta.mail.internet)(version>=2.0.0)(!(version>=3.0.0)))
[caused by: Unable to resolve com.sun.mail.jakarta.mail [195](R 195.0): missing
requirement [com.sun.mail.jakarta.mail [195](R 195.0)] osgi.wiring.package;
(osgi.wiring.package=jakarta.activation)]]]] Unresolved requirements:
[[org.glassfish.main.webservices.connector [111](R 111.0)] osgi.wiring.package;
(&(osgi.wiring.package=org.glassfish.web.deployment.descriptor)(version>=6.0.0)(!(version>=7.0.0)))]

There's some stuff in there about jakarta.mail so I assume that's the
source of the problem since that's the thing that I changed.  It looks
like it wants version 2.0.0 or newer of the package, which is correct.

Here's the manifest file from the Jakarta Mail jar file:

Manifest-Version: 1.0
Automatic-Module-Name: jakarta.mail
Bnd-LastModified: 1583795629871
Build-Jdk: 11.0.4
Built-By: shannon
Bundle-Description: Jakarta Mail API
Bundle-DocURL: http://www.oracle.com
Bundle-License: http://www.eclipse.org/legal/epl-2.0, https://www.gnu.or
 g/software/classpath/license.html, http://www.eclipse.org/org/documents
 /edl-v10.php
Bundle-ManifestVersion: 2
Bundle-Name: Jakarta Mail API
Bundle-SymbolicName: com.sun.mail.jakarta.mail
Bundle-Vendor: Oracle
Bundle-Version: 2.0.0.RC3
Created-By: Apache Maven Bundle Plugin
DynamicImport-Package: *
Export-Package:
 jakarta.mail;version="2.0";uses:="jakarta.activation,jakarta.mail.event
 ,jakarta.mail.search",
 jakarta.mail.event;version="2.0";uses:="jakarta.mail",
 jakarta.mail.internet;version="2.0";uses:="jakarta.activation,jakarta.m
 ail",
 jakarta.mail.search;version="2.0";uses:="jakarta.mail",
 jakarta.mail.util;version="2.0";uses:="jakarta.activation,jakarta.mail.
 internet",
 com.sun.mail.imap;version="2.0.0";uses:="com.sun.mail.iap,com.sun.mail.
 imap.protocol,com.sun.mail.util,jakarta.activation,jakarta.mail,jakarta
 .mail.event,jakarta.mail.internet,jakarta.mail.search",
 com.sun.mail.imap.protocol;version="2.0.0";uses:="com.sun.mail.iap,com.
 sun.mail.imap,com.sun.mail.util,jakarta.mail,jakarta.mail.internet,jaka
 rta.mail.search",
 com.sun.mail.iap;version="2.0.0";uses:="com.sun.mail.util",
 com.sun.mail.pop3;version="2.0.0";uses:="com.sun.mail.util,jakarta.mail
 ,jakarta.mail.internet",
 com.sun.mail.smtp;version="2.0.0";uses:="com.sun.mail.util,jakarta.mail
 ,jakarta.mail.internet",
 com.sun.mail.util;version="2.0.0";uses:="jakarta.mail,jakarta.mail.inte
 rnet,javax.net.ssl",
 com.sun.mail.util.logging;version="2.0.0";uses:="jakarta.mail",
 com.sun.mail.handlers;version="2.0.0";uses:="jakarta.activation"
Extension-Name: jakarta.mail
Implementation-Title: jakarta.mail
Implementation-Vendor: Oracle
Implementation-Vendor-Id: com.sun
Implementation-Version: 2.0.0-RC3
Import-Package:
 jakarta.activation,
 javax.security.sasl;resolution:=optional,
 com.sun.mail.iap;version="[2.0,3)",
 com.sun.mail.imap;version="[2.0,3)",
 com.sun.mail.util;version="[2.0,3)",
 jakarta.mail;version="[2.0,3)",
 jakarta.mail.event;version="[2.0,3)",
 jakarta.mail.internet;version="[2.0,3)",
 jakarta.mail.search;version="[2.0,3)",
 jakarta.mail.util;version="[2.0,3)",
 javax.crypto,
 javax.crypto.spec,
 javax.net,
 javax.net.ssl,
 javax.security.auth.callback,
 javax.security.auth.x500,
 javax.xml.transform,
 javax.xml.transform.stream,
 sun.security.util;resolution:=optional
Probe-Provider-XML-File-Names: META-INF/gfprobe-provider.xml
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Specification-Title: Jakarta Mail API Design Specification
Specification-Vendor: Oracle
Specification-Version: 2.0
Tool: Bnd-3.5.0.201709291849


I believe OSGi considers a version like 2.0.0.RC3 to be greater than
version 2.0.0, so it seems like the manifest should match the requirement.

Can anyone see what's wrong with the manifest or the requirement that's
causing it to fail?


Back to the top