This is an automated email from the ASF dual-hosted git repository.

robertlazarski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git


The following commit(s) were added to refs/heads/master by this push:
     new d208475d45 AXIS2-6040 Add Automatic-Module-Name to all 24 
JAR-producing modules
d208475d45 is described below

commit d208475d459e2c9e0bb2579fee8e57caab77b876
Author: Robert Lazarski <[email protected]>
AuthorDate: Tue Apr 21 05:16:39 2026 -1000

    AXIS2-6040 Add Automatic-Module-Name to all 24 JAR-producing modules
    
    Each module now defines its own Automatic-Module-Name in the
    maven-jar-plugin configuration with hyphens replaced by dots:
    
      axis2-kernel           -> org.apache.axis2.kernel
      axis2-json             -> org.apache.axis2.json
      axis2-transport-http   -> org.apache.axis2.transport.http
      axis2-resource-bundle  -> org.apache.axis2.resource.bundle
      (... 20 more modules)
    
    A global parent POM approach using ${project.artifactId} was attempted
    previously but produced invalid module names because Java module names
    cannot contain hyphens. The per-module approach avoids this by
    explicitly declaring each name.
    
    This is a passive manifest attribute — it has no effect on the
    classpath. It only provides a stable module name for users who use
    Java 9+ JPMS with module-info.java, resolving the "unstable module
    name" IDE warnings reported in this issue.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
---
 modules/adb-codegen/pom.xml         |  11 ++
 modules/adb/pom.xml                 |  11 ++
 modules/codegen/pom.xml             |  11 ++
 modules/corba/pom.xml               |  11 ++
 modules/java2wsdl/pom.xml           |  11 ++
 modules/jaxbri-codegen/pom.xml      |  11 ++
 modules/jaxws-mar/pom.xml           |  11 ++
 modules/jaxws/pom.xml               |  11 ++
 modules/json/pom.xml                |  11 ++
 modules/kernel/pom.xml              |  11 ++
 modules/mcp-bridge/pom.xml          | 257 +++++++++++++++++++-----------------
 modules/metadata/pom.xml            |  11 ++
 modules/mtompolicy/pom.xml          |  11 ++
 modules/openapi/pom.xml             |  16 +++
 modules/resource-bundle/pom.xml     |  11 ++
 modules/saaj/pom.xml                |  11 ++
 modules/spring-boot-starter/pom.xml |  16 +++
 modules/spring/pom.xml              |  11 ++
 modules/testutils/pom.xml           |  11 ++
 modules/transport-h2/pom.xml        |   8 ++
 modules/transport/http/pom.xml      |   8 ++
 modules/transport/local/pom.xml     |  11 ++
 modules/xmlbeans-codegen/pom.xml    |  11 ++
 modules/xmlbeans/pom.xml            |  11 ++
 pom.xml                             |   9 +-
 25 files changed, 396 insertions(+), 127 deletions(-)

diff --git a/modules/adb-codegen/pom.xml b/modules/adb-codegen/pom.xml
index 09c4d1b8e6..ea6f66fa4b 100644
--- a/modules/adb-codegen/pom.xml
+++ b/modules/adb-codegen/pom.xml
@@ -143,6 +143,17 @@
                         </goals>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.adb.codegen</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/adb/pom.xml b/modules/adb/pom.xml
index 61bb9dde52..d7bcab5b9d 100644
--- a/modules/adb/pom.xml
+++ b/modules/adb/pom.xml
@@ -141,6 +141,17 @@
                         <include>**/*Test.java</include>
                     </includes>
                 </configuration>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.adb</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/codegen/pom.xml b/modules/codegen/pom.xml
index 17d706b692..3eea297da1 100644
--- a/modules/codegen/pom.xml
+++ b/modules/codegen/pom.xml
@@ -252,6 +252,17 @@
                         </configuration>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.codegen</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/corba/pom.xml b/modules/corba/pom.xml
index d256a56c22..c6cbe75845 100644
--- a/modules/corba/pom.xml
+++ b/modules/corba/pom.xml
@@ -97,6 +97,17 @@
                         </configuration>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.corba</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/java2wsdl/pom.xml b/modules/java2wsdl/pom.xml
index d5c4c9551f..0d3c156c1d 100644
--- a/modules/java2wsdl/pom.xml
+++ b/modules/java2wsdl/pom.xml
@@ -216,6 +216,17 @@
                         </configuration>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.java2wsdl</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/jaxbri-codegen/pom.xml b/modules/jaxbri-codegen/pom.xml
index 0370d8f223..deaabbfc37 100644
--- a/modules/jaxbri-codegen/pom.xml
+++ b/modules/jaxbri-codegen/pom.xml
@@ -179,6 +179,17 @@
                         <include>**/*Test.java</include>
                     </includes>
                 </configuration>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.jaxbri.codegen</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/jaxws-mar/pom.xml b/modules/jaxws-mar/pom.xml
index 215b205881..075ab17337 100644
--- a/modules/jaxws-mar/pom.xml
+++ b/modules/jaxws-mar/pom.xml
@@ -110,6 +110,17 @@
                 <configuration>
                     <includeDependencies>false</includeDependencies>
                 </configuration>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.jaxws.mar</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/jaxws/pom.xml b/modules/jaxws/pom.xml
index e27b251aa7..794cdbca3d 100644
--- a/modules/jaxws/pom.xml
+++ b/modules/jaxws/pom.xml
@@ -357,6 +357,17 @@
                         <java.awt.headless>true</java.awt.headless>
                     </systemPropertyVariables>
                 </configuration>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.jaxws</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/json/pom.xml b/modules/json/pom.xml
index 81668c6e04..ad11d20781 100644
--- a/modules/json/pom.xml
+++ b/modules/json/pom.xml
@@ -320,6 +320,17 @@
                         </configuration>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.json</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/kernel/pom.xml b/modules/kernel/pom.xml
index ebfc1f5968..0543fa47bf 100644
--- a/modules/kernel/pom.xml
+++ b/modules/kernel/pom.xml
@@ -265,6 +265,17 @@
                         </configuration>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.kernel</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/mcp-bridge/pom.xml b/modules/mcp-bridge/pom.xml
index 666def4f1f..dee3073046 100644
--- a/modules/mcp-bridge/pom.xml
+++ b/modules/mcp-bridge/pom.xml
@@ -1,123 +1,134 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements. See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership. The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License. You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied. See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.axis2</groupId>
-        <artifactId>axis2</artifactId>
-        <version>2.0.1-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>axis2-mcp-bridge</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Apache Axis2 - MCP Bridge</name>
-    <description>
-        Stdio MCP (Model Context Protocol) bridge for Apache Axis2. Fetches the
-        /openapi-mcp.json tool catalog from a running Axis2 deployment and 
exposes
-        those operations as MCP tools to Claude Desktop and other MCP clients.
-        Runs as a subprocess launched by an MCP client; communicates via
-        newline-delimited JSON-RPC 2.0 on stdin/stdout.
-    </description>
-
-    <properties>
-        <jackson.version>2.21.1</jackson.version>
-    </properties>
-
-    <dependencies>
-        <!-- JSON parsing — Apache 2.0 -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-
-        <!-- HTTP client — same stack as all Axis2/Java transports -->
-        <dependency>
-            <groupId>org.apache.httpcomponents.client5</groupId>
-            <artifactId>httpclient5</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents.core5</groupId>
-            <artifactId>httpcore5</artifactId>
-        </dependency>
-
-        <!-- Test -->
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>17</source>
-                    <target>17</target>
-                </configuration>
-            </plugin>
-
-            <!-- Build a self-contained executable JAR for use as an MCP stdio 
server. -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <version>3.6.0</version>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            
<createDependencyReducedPom>false</createDependencyReducedPom>
-                            
<shadedArtifactAttached>true</shadedArtifactAttached>
-                            <shadedClassifierName>exe</shadedClassifierName>
-                            <transformers>
-                                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                                    
<mainClass>org.apache.axis2.mcp.bridge.McpBridgeMain</mainClass>
-                                </transformer>
-                                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
-                            </transformers>
-                            <filters>
-                                <filter>
-                                    <artifact>*:*</artifact>
-                                    <excludes>
-                                        <exclude>META-INF/*.SF</exclude>
-                                        <exclude>META-INF/*.DSA</exclude>
-                                        <exclude>META-INF/*.RSA</exclude>
-                                    </excludes>
-                                </filter>
-                            </filters>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License. You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied. See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.axis2</groupId>
+        <artifactId>axis2</artifactId>
+        <version>2.0.1-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>axis2-mcp-bridge</artifactId>
+    <packaging>jar</packaging>
+
+    <name>Apache Axis2 - MCP Bridge</name>
+    <description>
+        Stdio MCP (Model Context Protocol) bridge for Apache Axis2. Fetches the
+        /openapi-mcp.json tool catalog from a running Axis2 deployment and 
exposes
+        those operations as MCP tools to Claude Desktop and other MCP clients.
+        Runs as a subprocess launched by an MCP client; communicates via
+        newline-delimited JSON-RPC 2.0 on stdin/stdout.
+    </description>
+
+    <properties>
+        <jackson.version>2.21.1</jackson.version>
+    </properties>
+
+    <dependencies>
+        <!-- JSON parsing — Apache 2.0 -->
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>${jackson.version}</version>
+        </dependency>
+
+        <!-- HTTP client — same stack as all Axis2/Java transports -->
+        <dependency>
+            <groupId>org.apache.httpcomponents.client5</groupId>
+            <artifactId>httpclient5</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents.core5</groupId>
+            <artifactId>httpcore5</artifactId>
+        </dependency>
+
+        <!-- Test -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>17</source>
+                    <target>17</target>
+                </configuration>
+            </plugin>
+
+            <!-- Build a self-contained executable JAR for use as an MCP stdio 
server. -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <version>3.6.0</version>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            
<createDependencyReducedPom>false</createDependencyReducedPom>
+                            
<shadedArtifactAttached>true</shadedArtifactAttached>
+                            <shadedClassifierName>exe</shadedClassifierName>
+                            <transformers>
+                                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                                    
<mainClass>org.apache.axis2.mcp.bridge.McpBridgeMain</mainClass>
+                                </transformer>
+                                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
+                            </transformers>
+                            <filters>
+                                <filter>
+                                    <artifact>*:*</artifact>
+                                    <excludes>
+                                        <exclude>META-INF/*.SF</exclude>
+                                        <exclude>META-INF/*.DSA</exclude>
+                                        <exclude>META-INF/*.RSA</exclude>
+                                    </excludes>
+                                </filter>
+                            </filters>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.mcp.bridge</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/modules/metadata/pom.xml b/modules/metadata/pom.xml
index 462a96ecf5..6ff52c3381 100755
--- a/modules/metadata/pom.xml
+++ b/modules/metadata/pom.xml
@@ -222,6 +222,17 @@
                         
<org.apache.axis2.jaxws.repo.path>./target/repository</org.apache.axis2.jaxws.repo.path>
                     </systemPropertyVariables>
                 </configuration>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.metadata</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/mtompolicy/pom.xml b/modules/mtompolicy/pom.xml
index 171c2a796a..3b93568e0f 100644
--- a/modules/mtompolicy/pom.xml
+++ b/modules/mtompolicy/pom.xml
@@ -90,6 +90,17 @@
                         </configuration>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.mtompolicy</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/openapi/pom.xml b/modules/openapi/pom.xml
index 0a54f060b2..270e206de8 100644
--- a/modules/openapi/pom.xml
+++ b/modules/openapi/pom.xml
@@ -107,4 +107,20 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.openapi</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/modules/resource-bundle/pom.xml b/modules/resource-bundle/pom.xml
index 71311a36d2..ea0c892315 100644
--- a/modules/resource-bundle/pom.xml
+++ b/modules/resource-bundle/pom.xml
@@ -53,6 +53,17 @@
                         </goals>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.resource.bundle</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/saaj/pom.xml b/modules/saaj/pom.xml
index a2791a1808..574c382a4c 100644
--- a/modules/saaj/pom.xml
+++ b/modules/saaj/pom.xml
@@ -201,6 +201,17 @@
                         <java.awt.headless>true</java.awt.headless>
                     </systemPropertyVariables>
                 </configuration>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.saaj</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/spring-boot-starter/pom.xml 
b/modules/spring-boot-starter/pom.xml
index e69da4ece9..127a842b36 100644
--- a/modules/spring-boot-starter/pom.xml
+++ b/modules/spring-boot-starter/pom.xml
@@ -136,4 +136,20 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.spring.boot.starter</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/modules/spring/pom.xml b/modules/spring/pom.xml
index 355997b6fe..6f3cffe623 100644
--- a/modules/spring/pom.xml
+++ b/modules/spring/pom.xml
@@ -87,6 +87,17 @@
                         </configuration>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.spring</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/testutils/pom.xml b/modules/testutils/pom.xml
index 569d40d374..7a5accf2d5 100644
--- a/modules/testutils/pom.xml
+++ b/modules/testutils/pom.xml
@@ -103,6 +103,17 @@
                         </configuration>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.testutils</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/transport-h2/pom.xml b/modules/transport-h2/pom.xml
index 4dd44fe914..36d04a5295 100644
--- a/modules/transport-h2/pom.xml
+++ b/modules/transport-h2/pom.xml
@@ -165,6 +165,14 @@
             </plugin>
             <plugin>
                 <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.transport.h2</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
                 <executions>
                     <execution>
                         <goals>
diff --git a/modules/transport/http/pom.xml b/modules/transport/http/pom.xml
index 07678b356a..68058bc749 100644
--- a/modules/transport/http/pom.xml
+++ b/modules/transport/http/pom.xml
@@ -108,6 +108,14 @@
             </plugin>
             <plugin>
                 <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.transport.http</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
                 <executions>
                     <execution>
                         <goals>
diff --git a/modules/transport/local/pom.xml b/modules/transport/local/pom.xml
index b1393d216a..e1e07011d6 100644
--- a/modules/transport/local/pom.xml
+++ b/modules/transport/local/pom.xml
@@ -115,6 +115,17 @@
                         </Export-Package>
                     </instructions>
                 </configuration>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.transport.local</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/xmlbeans-codegen/pom.xml b/modules/xmlbeans-codegen/pom.xml
index 9bb9641c04..871ae3079e 100644
--- a/modules/xmlbeans-codegen/pom.xml
+++ b/modules/xmlbeans-codegen/pom.xml
@@ -70,6 +70,17 @@
                         </configuration>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.xmlbeans.codegen</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/modules/xmlbeans/pom.xml b/modules/xmlbeans/pom.xml
index 00167f386c..3bbbb14cdb 100644
--- a/modules/xmlbeans/pom.xml
+++ b/modules/xmlbeans/pom.xml
@@ -139,6 +139,17 @@
                         </goals>
                     </execution>
                 </executions>
+            </plugin>
+                    <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <!-- AXIS2-6040: Stable module name for Java 9+ 
JPMS -->
+                            
<Automatic-Module-Name>org.apache.axis2.xmlbeans</Automatic-Module-Name>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/pom.xml b/pom.xml
index ebab0368f9..1e1ce2e8b4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1046,10 +1046,11 @@
                 <plugin>
                     <artifactId>maven-jar-plugin</artifactId>
                     <version>3.5.0</version>
-                    <!-- AXIS2-6040: Automatic-Module-Name removed from global 
config.
-                         Hyphens in artifactIds (e.g., axis2-resource-bundle) 
produce
-                         invalid Java module names. Modules that need stable 
JPMS names
-                         should define Automatic-Module-Name in their own 
pom.xml. -->
+                    <!-- AXIS2-6040: Automatic-Module-Name defined per-module 
(not global).
+                         A global ${project.artifactId} approach fails because 
hyphens in
+                         artifactIds (e.g., axis2-resource-bundle) are invalid 
in Java
+                         module names. Each module defines its own name with 
hyphens
+                         replaced by dots (e.g., 
org.apache.axis2.resource.bundle). -->
                 </plugin>
                 <plugin>
                     <artifactId>maven-plugin-plugin</artifactId>


Reply via email to