Uptake Jakarta Dependencies: istack commons, GF, Copyright plugin & mimepull (#4002)

Signed-off-by: Jan Supol <jan.supol@oracle.com>
diff --git a/bundles/jaxrs-ri/pom.xml b/bundles/jaxrs-ri/pom.xml
index b3c1ebd..5803fda 100644
--- a/bundles/jaxrs-ri/pom.xml
+++ b/bundles/jaxrs-ri/pom.xml
@@ -281,6 +281,7 @@
                             javax.servlet.annotation.*;resolution:=optional;version="[2.4,5.0)",
                             javax.servlet.descriptor.*;resolution:=optional;version="[2.4,5.0)",
                             javax.servlet.*;version="[2.4,5.0)",
+                            javax.annotation;version="!",
                             javax.persistence.*;resolution:=optional,
                             javax.validation.*;resolution:=optional;version="${range;[==,3);${javax.validation.api.version}}",
                             sun.misc.*;resolution:=optional,
diff --git a/connectors/apache-connector/pom.xml b/connectors/apache-connector/pom.xml
index 7ac1ecd..cb62fd0 100644
--- a/connectors/apache-connector/pom.xml
+++ b/connectors/apache-connector/pom.xml
@@ -66,7 +66,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/connectors/grizzly-connector/pom.xml b/connectors/grizzly-connector/pom.xml
index eb4dea9..565a4bc 100644
--- a/connectors/grizzly-connector/pom.xml
+++ b/connectors/grizzly-connector/pom.xml
@@ -63,7 +63,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/connectors/jdk-connector/pom.xml b/connectors/jdk-connector/pom.xml
index ac16069..8aaed5f 100644
--- a/connectors/jdk-connector/pom.xml
+++ b/connectors/jdk-connector/pom.xml
@@ -56,7 +56,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/connectors/jetty-connector/pom.xml b/connectors/jetty-connector/pom.xml
index 22e28ba..aa982dc 100644
--- a/connectors/jetty-connector/pom.xml
+++ b/connectors/jetty-connector/pom.xml
@@ -71,7 +71,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/connectors/netty-connector/pom.xml b/connectors/netty-connector/pom.xml
index dd6fc6a..386dadd 100644
--- a/connectors/netty-connector/pom.xml
+++ b/connectors/netty-connector/pom.xml
@@ -60,7 +60,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/containers/glassfish/jersey-gf-ejb/pom.xml b/containers/glassfish/jersey-gf-ejb/pom.xml
index 76d8d9f..8cf5d2b 100644
--- a/containers/glassfish/jersey-gf-ejb/pom.xml
+++ b/containers/glassfish/jersey-gf-ejb/pom.xml
@@ -97,7 +97,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -114,6 +114,7 @@
                         <!-- Explicitly set versions for packages from GlassFish to allow future uptake of GlassFish 5.x-->
                         <Import-Package>
                             com.sun.*;version="[4.0,6)",
+                            javax.annotation.*;version="!",
                             org.glassfish.ejb.*;version="[4.0,6)",
                             org.glassfish.internal.*;version="[4.0,6)",
                             *
diff --git a/containers/grizzly2-http/pom.xml b/containers/grizzly2-http/pom.xml
index 67a6cd4..62da89e 100644
--- a/containers/grizzly2-http/pom.xml
+++ b/containers/grizzly2-http/pom.xml
@@ -47,7 +47,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/containers/jdk-http/pom.xml b/containers/jdk-http/pom.xml
index 41c87bd..f9c3531 100644
--- a/containers/jdk-http/pom.xml
+++ b/containers/jdk-http/pom.xml
@@ -44,7 +44,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
 
diff --git a/containers/jersey-servlet-core/pom.xml b/containers/jersey-servlet-core/pom.xml
index 2cc2f48..66d184a 100644
--- a/containers/jersey-servlet-core/pom.xml
+++ b/containers/jersey-servlet-core/pom.xml
@@ -53,7 +53,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/containers/jersey-servlet/pom.xml b/containers/jersey-servlet/pom.xml
index 31f63d1..ece557d 100644
--- a/containers/jersey-servlet/pom.xml
+++ b/containers/jersey-servlet/pom.xml
@@ -61,7 +61,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/containers/jetty-http/pom.xml b/containers/jetty-http/pom.xml
index 58d9ce2..ef109fb 100644
--- a/containers/jetty-http/pom.xml
+++ b/containers/jetty-http/pom.xml
@@ -56,7 +56,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/containers/netty-http/pom.xml b/containers/netty-http/pom.xml
index 0faf9d2..49dd223 100644
--- a/containers/netty-http/pom.xml
+++ b/containers/netty-http/pom.xml
@@ -48,7 +48,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/containers/simple-http/pom.xml b/containers/simple-http/pom.xml
index 5642f10..40de25e 100644
--- a/containers/simple-http/pom.xml
+++ b/containers/simple-http/pom.xml
@@ -55,7 +55,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/core-client/pom.xml b/core-client/pom.xml
index e8eb805..ade97f9 100644
--- a/core-client/pom.xml
+++ b/core-client/pom.xml
@@ -37,7 +37,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -88,6 +88,15 @@
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <inherited>true</inherited>
+                <configuration>
+                    <instructions>
+                        <Import-Package>
+                            javax.annotation.*;version="!",
+                            *
+                        </Import-Package>
+                        <unpackBundle>true</unpackBundle>
+                    </instructions>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/core-common/pom.xml b/core-common/pom.xml
index ea7c997..91b312c 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -95,7 +95,7 @@
             </plugin>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -126,6 +126,8 @@
                         <!-- Note: When you're changing these properties change them also in bundles/jaxrs-ri/pom.xml. -->
                         <Import-Package>
                             sun.misc.*;resolution:=optional,
+                            javax.activation.*;version="!",
+                            javax.annotation.*;version="!",
                             *
                         </Import-Package>
                         <Export-Package>org.glassfish.jersey.*;version=${project.version}</Export-Package>
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/l10n/Localizable.java b/core-common/src/main/java/org/glassfish/jersey/internal/l10n/Localizable.java
index a518896..d9a0274 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/l10n/Localizable.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/l10n/Localizable.java
@@ -16,6 +16,9 @@
 
 package org.glassfish.jersey.internal.l10n;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 /**
  * Localizable message.
  *
@@ -54,4 +57,11 @@
      * @return the localization messages resource bundle name.
      */
     public String getResourceBundleName();
+
+    /**
+     * Get the resource bundle of the given localization.
+     * @param locale the given {@code Locale}
+     * @return the localization messages resource bundle for given locale.
+     */
+    public ResourceBundle getResourceBundle(Locale locale);
 }
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/l10n/LocalizableMessage.java b/core-common/src/main/java/org/glassfish/jersey/internal/l10n/LocalizableMessage.java
index e5e402d..b941485 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/l10n/LocalizableMessage.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/l10n/LocalizableMessage.java
@@ -16,17 +16,30 @@
 
 package org.glassfish.jersey.internal.l10n;
 
+import java.util.Arrays;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 /**
  * @author WS Development Team
  */
 public final class LocalizableMessage implements Localizable {
 
     private final String _bundlename;
+    private final LocalizableMessageFactory.ResourceBundleSupplier _rbSupplier;
+
     private final String _key;
     private final Object[] _args;
 
+    @Deprecated
     public LocalizableMessage(String bundlename, String key, Object... args) {
+        this(bundlename, null, key, args);
+    }
+
+    public LocalizableMessage(String bundlename, LocalizableMessageFactory.ResourceBundleSupplier rbSupplier,
+                              String key, Object... args) {
         _bundlename = bundlename;
+        _rbSupplier = rbSupplier;
         _key = key;
         if (args == null) {
             args = new Object[0];
@@ -41,11 +54,20 @@
 
     @Override
     public Object[] getArguments() {
-        return _args.clone();
+        return Arrays.copyOf(_args, _args.length);
     }
 
     @Override
     public String getResourceBundleName() {
         return _bundlename;
     }
-}
+
+    @Override
+    public ResourceBundle getResourceBundle(Locale locale) {
+        if (_rbSupplier == null) {
+            return null;
+        }
+
+        return _rbSupplier.getResourceBundle(locale);
+    }
+}
\ No newline at end of file
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/l10n/LocalizableMessageFactory.java b/core-common/src/main/java/org/glassfish/jersey/internal/l10n/LocalizableMessageFactory.java
index 5886fe0..d5d62e2 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/l10n/LocalizableMessageFactory.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/l10n/LocalizableMessageFactory.java
@@ -16,19 +16,39 @@
 
 package org.glassfish.jersey.internal.l10n;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 /**
  * @author WS Development Team
  */
 public class LocalizableMessageFactory {
 
     private final String _bundlename;
+    private final ResourceBundleSupplier _rbSupplier;
 
+    @Deprecated
     public LocalizableMessageFactory(String bundlename) {
         _bundlename = bundlename;
+        _rbSupplier = null;
+    }
+
+    public LocalizableMessageFactory(String bundlename, ResourceBundleSupplier rbSupplier) {
+        _bundlename = bundlename;
+        _rbSupplier = rbSupplier;
     }
 
     public Localizable getMessage(String key, Object... args) {
-        return new LocalizableMessage(_bundlename, key, args);
+        return new LocalizableMessage(_bundlename, _rbSupplier, key, args);
+    }
+
+    public interface ResourceBundleSupplier {
+        /**
+         * Gets the ResourceBundle.
+         * @param locale the requested bundle's locale
+         * @return ResourceBundle
+         */
+        ResourceBundle getResourceBundle(Locale locale);
     }
 
 }
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/l10n/Localizer.java b/core-common/src/main/java/org/glassfish/jersey/internal/l10n/Localizer.java
index b812d64..058617f 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/l10n/Localizer.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/l10n/Localizer.java
@@ -86,7 +86,12 @@
                                     alternateBundleName,
                                     _locale);
                         } catch (MissingResourceException e2) {
-                            // try OSGi
+                            //try context classloader
+                            try {
+                                bundle = ResourceBundle.getBundle(bundlename, _locale,
+                                        Thread.currentThread().getContextClassLoader());
+                            } catch (MissingResourceException e3) {
+                                // try OSGi
                                 OsgiRegistry osgiRegistry = ReflectionHelper.getOsgiRegistryInstance();
                                 if (osgiRegistry != null) {
                                     bundle = osgiRegistry.getResourceBundle(bundlename);
@@ -101,6 +106,7 @@
                                         }
                                     }
                                 }
+                            }
                         }
                     }
                 }
diff --git a/core-server/pom.xml b/core-server/pom.xml
index c8feb73..35e914e 100644
--- a/core-server/pom.xml
+++ b/core-server/pom.xml
@@ -73,7 +73,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -94,6 +94,7 @@
                             com.sun.research.ws.wadl.*;version=${project.version}
                         </Export-Package>
                         <Import-Package>
+                            javax.annotation.*;version="!",
                             javax.validation.*;resolution:=optional;version="${range;[==,3);${javax.validation.api.version}}",
                             *
                         </Import-Package>
diff --git a/examples/osgi-http-service/functional-test/pom.xml b/examples/osgi-http-service/functional-test/pom.xml
index b29b39a..8bd6365 100644
--- a/examples/osgi-http-service/functional-test/pom.xml
+++ b/examples/osgi-http-service/functional-test/pom.xml
@@ -108,10 +108,10 @@
 
         <!-- Grizzly dependencies-->
         <dependency>
-            <groupId>com.sun.grizzly.osgi</groupId>
+            <groupId>org.glassfish.grizzly.osgi</groupId>
             <artifactId>grizzly-httpservice-bundle</artifactId>
             <scope>test</scope>
-            <version>1.9.45</version>
+            <version>${grizzly2.version}</version>
         </dependency>
 
 
diff --git a/examples/osgi-http-service/functional-test/src/test/java/org/glassfish/jersey/examples/osgihttpservice/test/AbstractHttpServiceTest.java b/examples/osgi-http-service/functional-test/src/test/java/org/glassfish/jersey/examples/osgihttpservice/test/AbstractHttpServiceTest.java
index e070b0a..cac6a59 100644
--- a/examples/osgi-http-service/functional-test/src/test/java/org/glassfish/jersey/examples/osgihttpservice/test/AbstractHttpServiceTest.java
+++ b/examples/osgi-http-service/functional-test/src/test/java/org/glassfish/jersey/examples/osgihttpservice/test/AbstractHttpServiceTest.java
@@ -141,7 +141,7 @@
 
     public List<Option> grizzlyOptions() {
         return Arrays.asList(options(
-                mavenBundle().groupId("com.sun.grizzly.osgi").artifactId("grizzly-httpservice-bundle").versionAsInProject()
+                mavenBundle().groupId("org.glassfish.grizzly.osgi").artifactId("grizzly-httpservice-bundle").versionAsInProject()
         ));
     }
 
diff --git a/ext/bean-validation/pom.xml b/ext/bean-validation/pom.xml
index 78b8c69..37354c4 100644
--- a/ext/bean-validation/pom.xml
+++ b/ext/bean-validation/pom.xml
@@ -37,7 +37,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -54,7 +54,11 @@
                     <instructions>
                         <!-- Note: When you're changing these properties change them also in bundles/jax-rs-ri/bundle/pom.xml. -->
                         <Export-Package>org.glassfish.jersey.server.validation.*;version=${project.version}</Export-Package>
-                        <Import-Package>javax.validation.*;resolution:=optional;version="${range;[==,3);${javax.validation.api.version}}", *</Import-Package>
+                        <Import-Package>
+                            javax.annotation.*;version="!",
+                            javax.validation.*;resolution:=optional;version="${range;[==,3);${javax.validation.api.version}}",
+                            *
+                        </Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
diff --git a/ext/cdi/jersey-cdi1x-servlet/pom.xml b/ext/cdi/jersey-cdi1x-servlet/pom.xml
index 86fc968..1788592 100644
--- a/ext/cdi/jersey-cdi1x-servlet/pom.xml
+++ b/ext/cdi/jersey-cdi1x-servlet/pom.xml
@@ -76,7 +76,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/ext/cdi/jersey-cdi1x-transaction/pom.xml b/ext/cdi/jersey-cdi1x-transaction/pom.xml
index cea42c1..c6bb8e2 100644
--- a/ext/cdi/jersey-cdi1x-transaction/pom.xml
+++ b/ext/cdi/jersey-cdi1x-transaction/pom.xml
@@ -75,7 +75,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -90,6 +90,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.ext.cdi1x.transaction.internal</Export-Package>
+                        <Import-Package>javax.annotation.*;version="!",*</Import-Package>
                         <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
                         <_nodefaultversion>false</_nodefaultversion>
                     </instructions>
diff --git a/ext/cdi/jersey-cdi1x-validation/pom.xml b/ext/cdi/jersey-cdi1x-validation/pom.xml
index 4669947..0c5858f 100644
--- a/ext/cdi/jersey-cdi1x-validation/pom.xml
+++ b/ext/cdi/jersey-cdi1x-validation/pom.xml
@@ -85,7 +85,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -100,6 +100,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.ext.cdi1x.validation.internal;version=${project.version}</Export-Package>
+                        <Import-Package>javax.annotation.*;version="!",*</Import-Package>
                     </instructions>
                 </configuration>
                 <executions>
diff --git a/ext/cdi/jersey-cdi1x/pom.xml b/ext/cdi/jersey-cdi1x/pom.xml
index 11ef360..5f19e25 100644
--- a/ext/cdi/jersey-cdi1x/pom.xml
+++ b/ext/cdi/jersey-cdi1x/pom.xml
@@ -64,7 +64,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -82,6 +82,7 @@
                             org.glassfish.jersey.ext.cdi1x.spi,org.glassfish.jersey.ext.cdi1x.internal,
                             org.glassfish.jersey.ext.cdi1x.internal.spi
                         </Export-Package>
+                        <Import-Package>javax.annotation.*;version="!",*</Import-Package>
                         <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
                         <_nodefaultversion>false</_nodefaultversion>
                     </instructions>
diff --git a/ext/entity-filtering/pom.xml b/ext/entity-filtering/pom.xml
index a5619c5..e06cd5a 100644
--- a/ext/entity-filtering/pom.xml
+++ b/ext/entity-filtering/pom.xml
@@ -60,7 +60,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -76,7 +76,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.message.filtering.*;version=${project.version}</Export-Package>
-                        <Import-Package>*</Import-Package>
+                        <Import-Package>javax.annotation.*;version="!",*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
diff --git a/ext/metainf-services/pom.xml b/ext/metainf-services/pom.xml
index 8eef68a..209beb8 100644
--- a/ext/metainf-services/pom.xml
+++ b/ext/metainf-services/pom.xml
@@ -67,7 +67,7 @@
             </plugin>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -80,6 +80,15 @@
                 <artifactId>maven-bundle-plugin</artifactId>
                 <inherited>true</inherited>
                 <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Import-Package>
+                            javax.annotation.*;version="!",
+                            *
+                        </Import-Package>
+                        <unpackBundle>true</unpackBundle>
+                    </instructions>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/ext/mvc-jsp/pom.xml b/ext/mvc-jsp/pom.xml
index 8388357..72ed09b 100644
--- a/ext/mvc-jsp/pom.xml
+++ b/ext/mvc-jsp/pom.xml
@@ -37,7 +37,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/ext/mvc/pom.xml b/ext/mvc/pom.xml
index 9a0ff5e..ff381c1 100644
--- a/ext/mvc/pom.xml
+++ b/ext/mvc/pom.xml
@@ -51,7 +51,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -67,6 +67,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.server.mvc.*;version=${project.version}</Export-Package>
+                        <Import-Package>javax.annotation.*;version="!",*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
diff --git a/ext/servlet-portability/pom.xml b/ext/servlet-portability/pom.xml
index 64939bd..bf5bf50 100644
--- a/ext/servlet-portability/pom.xml
+++ b/ext/servlet-portability/pom.xml
@@ -38,7 +38,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/ext/spring4/pom.xml b/ext/spring4/pom.xml
index 4c1909e..a22833e 100644
--- a/ext/spring4/pom.xml
+++ b/ext/spring4/pom.xml
@@ -158,7 +158,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/incubator/open-tracing/pom.xml b/incubator/open-tracing/pom.xml
index f96771e..267b7ae 100644
--- a/incubator/open-tracing/pom.xml
+++ b/incubator/open-tracing/pom.xml
@@ -77,7 +77,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/inject/cdi2-se/pom.xml b/inject/cdi2-se/pom.xml
index b3e732a..a08c2ec 100644
--- a/inject/cdi2-se/pom.xml
+++ b/inject/cdi2-se/pom.xml
@@ -67,7 +67,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -86,7 +86,9 @@
                             org.glassfish.jersey.inject.cdi.se.*;version=${project.version}
                         </Export-Package>
                         <Import-Package>
-                            sun.misc.*;resolution:=optional, *
+                            sun.misc.*;resolution:=optional,
+                            javax.annotation.*;version="!",
+                            *
                         </Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
diff --git a/inject/hk2/pom.xml b/inject/hk2/pom.xml
index 69ac48c..7f34a87 100644
--- a/inject/hk2/pom.xml
+++ b/inject/hk2/pom.xml
@@ -67,7 +67,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -87,6 +87,7 @@
                         </Export-Package>
                         <Import-Package>
                             sun.misc.*;resolution:=optional,
+                            javax.annotation.*;version="!",
                             *
                         </Import-Package>
                     </instructions>
diff --git a/media/jaxb/pom.xml b/media/jaxb/pom.xml
index 9a7ea84..948128b 100644
--- a/media/jaxb/pom.xml
+++ b/media/jaxb/pom.xml
@@ -74,7 +74,7 @@
             </plugin>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/media/json-binding/pom.xml b/media/json-binding/pom.xml
index a458bb3..4715f5a 100644
--- a/media/json-binding/pom.xml
+++ b/media/json-binding/pom.xml
@@ -38,7 +38,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -54,6 +54,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.jackson.*</Export-Package>
+                        <Import-Package>javax.annotation.*;version="!",*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
diff --git a/media/json-jackson/pom.xml b/media/json-jackson/pom.xml
index fe1bff2..99fd237 100644
--- a/media/json-jackson/pom.xml
+++ b/media/json-jackson/pom.xml
@@ -61,7 +61,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -77,6 +77,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.jackson.*</Export-Package>
+                        <Import-Package>javax.annotation.*;version="!",*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
diff --git a/media/json-jackson1/pom.xml b/media/json-jackson1/pom.xml
index 9cd372b..066adba 100644
--- a/media/json-jackson1/pom.xml
+++ b/media/json-jackson1/pom.xml
@@ -38,7 +38,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/media/json-jettison/pom.xml b/media/json-jettison/pom.xml
index b5adfc2..7c5b9ea 100644
--- a/media/json-jettison/pom.xml
+++ b/media/json-jettison/pom.xml
@@ -38,7 +38,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/media/json-processing/pom.xml b/media/json-processing/pom.xml
index ac3de80..a29acea 100644
--- a/media/json-processing/pom.xml
+++ b/media/json-processing/pom.xml
@@ -38,7 +38,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -56,6 +56,7 @@
                         <Export-Package>org.glassfish.jersey.jsonp.*;version=${project.version}</Export-Package>
                         <!-- TODO: change to ${range;[==,+);${jsonp.api.version}} once the version is final-->
                         <Import-Package>
+                            javax.annotation.*;version="!",
                             javax.json.*;version="[0,2)",
                             org.glassfish.json.*;version="[0,2)",
                             *
diff --git a/media/moxy/pom.xml b/media/moxy/pom.xml
index 92153b4..540f65d 100644
--- a/media/moxy/pom.xml
+++ b/media/moxy/pom.xml
@@ -38,7 +38,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
 
@@ -56,6 +56,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.moxy.*</Export-Package>
+                        <Import-Package>javax.annotation.*;version="!",*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
diff --git a/media/multipart/pom.xml b/media/multipart/pom.xml
index d9fc47f..8c2d680 100644
--- a/media/multipart/pom.xml
+++ b/media/multipart/pom.xml
@@ -38,7 +38,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/media/sse/pom.xml b/media/sse/pom.xml
index 16f9426..f02a521 100644
--- a/media/sse/pom.xml
+++ b/media/sse/pom.xml
@@ -62,7 +62,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
@@ -74,6 +74,11 @@
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <inherited>true</inherited>
+                <configuration>
+                    <instructions>
+                        <Import-Package>javax.annotation.*;version="!",*</Import-Package>
+                    </instructions>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/pom.xml b/pom.xml
index 235aecf..17c2d7a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -273,8 +273,8 @@
                 </plugin>
                 <plugin>
                     <groupId>com.sun.istack</groupId>
-                    <artifactId>maven-istack-commons-plugin</artifactId>
-                    <version>2.6.1</version>
+                    <artifactId>istack-commons-maven-plugin</artifactId>
+                    <version>3.0.8</version>
                     <executions>
                         <execution>
                             <phase>generate-sources</phase>
@@ -581,7 +581,7 @@
                 <plugin>
                     <groupId>org.glassfish.copyright</groupId>
                     <artifactId>glassfish-copyright-maven-plugin</artifactId>
-                    <version>1.49</version>
+                    <version>1.50</version>
                     <configuration>
                         <excludeFile>etc/config/copyright-exclude</excludeFile>
                         <!--svn|mercurial|git - defaults to svn-->
@@ -1945,7 +1945,7 @@
         <checkstyle.version>6.8.1</checkstyle.version>
         <easymock.version>3.3</easymock.version>
         <ejb.version>3.2.3</ejb.version>
-        <gf.impl.version>5.0</gf.impl.version>
+        <gf.impl.version>5.1.0</gf.impl.version>
         <fasterxml.classmate.version>1.3.3</fasterxml.classmate.version>
         <findbugs.glassfish.version>1.7</findbugs.glassfish.version>
         <findbugs.version>3.0.3</findbugs.version>
@@ -1990,7 +1990,7 @@
         <jstl.version>1.2.3</jstl.version>
         <jta.api.version>1.3.1</jta.api.version>
         <kryo.version>4.0.1</kryo.version>
-        <mimepull.version>1.9.7</mimepull.version>
+        <mimepull.version>1.9.11</mimepull.version>
         <mockito.version>1.10.19</mockito.version>
         <moxy.version>2.7.3</moxy.version>
         <mustache.version>0.8.17</mustache.version>
diff --git a/security/oauth1-client/pom.xml b/security/oauth1-client/pom.xml
index 6314d3a..5199270 100644
--- a/security/oauth1-client/pom.xml
+++ b/security/oauth1-client/pom.xml
@@ -42,7 +42,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/security/oauth1-signature/pom.xml b/security/oauth1-signature/pom.xml
index 0ac8062..e8921ab 100644
--- a/security/oauth1-signature/pom.xml
+++ b/security/oauth1-signature/pom.xml
@@ -34,7 +34,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>
diff --git a/security/oauth2-client/pom.xml b/security/oauth2-client/pom.xml
index 279a43d..b11e444 100644
--- a/security/oauth2-client/pom.xml
+++ b/security/oauth2-client/pom.xml
@@ -34,7 +34,7 @@
         <plugins>
             <plugin>
                 <groupId>com.sun.istack</groupId>
-                <artifactId>maven-istack-commons-plugin</artifactId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
             <plugin>