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

remm pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/tomcat-maven-plugin.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 5d8ebce  Add READNE.md (generated ...)
5d8ebce is described below

commit 5d8ebce36a6ea4a875850f26a711c32dbb08ec77
Author: remm <[email protected]>
AuthorDate: Thu Apr 9 11:53:43 2026 +0200

    Add READNE.md (generated ...)
---
 README.md | 342 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 342 insertions(+)

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d840d64
--- /dev/null
+++ b/README.md
@@ -0,0 +1,342 @@
+# Apache Tomcat Maven Plugin
+
+[![Build 
Status](https://builds.apache.org/job/TomcatMavenPlugin/badge/icon)](https://builds.apache.org/job/TomcatMavenPlugin/)
+
+## Overview
+
+The Apache Tomcat Maven Plugin provides goals to manipulate WAR projects 
within the Apache Tomcat servlet container. It supports:
+- Running web applications with an embedded Tomcat server
+- Deploying/undeploying web applications to a running Tomcat server
+- Creating self-contained executable WAR/JAR files with embedded Tomcat
+
+The plugin supports Tomcat 9, Tomcat 10, and Tomcat 11.
+
+## Prerequisites
+
+- Java 8 or higher
+- Maven 3.8.1 or higher
+
+## Basic Usage
+
+Add the plugin to your `pom.xml`:
+
+```xml
+<plugin>
+  <groupId>org.apache.tomcat.maven</groupId>
+  <artifactId>tomcat-maven-plugin</artifactId>
+  <version>${project.version}</version>
+</plugin>
+```
+
+## Common Goals
+
+### Run Goals
+
+**run** - Start Tomcat and run your web application:
+
+```bash
+mvn tomcat:run
+```
+
+### Deploy Goals
+
+**deploy** - Deploy a WAR to Tomcat:
+
+```bash
+mvn package tomcat:deploy
+```
+
+**undeploy** - Undeploy a WAR from Tomcat:
+
+```bash
+mvn tomcat:undeploy
+```
+
+**redeploy** - Redeploy an existing WAR:
+
+```bash
+mvn package tomcat:redeploy
+```
+
+### Container Goals
+
+**list** - List all deployed applications:
+
+```bash
+mvn tomcat:list
+```
+
+**info** - Get server information:
+
+```bash
+mvn tomcat:info
+```
+
+**resources** - List JNDI resources:
+
+```bash
+mvn tomcat:resources
+```
+
+**roles** - List security roles:
+
+```bash
+mvn tomcat:roles
+```
+
+## Configuration
+
+### Deploy to Tomcat
+
+Configure server credentials in `~/.m2/settings.xml`:
+
+```xml
+<settings>
+  <servers>
+    <server>
+      <id>tomcat</id>
+      <username>admin</username>
+      <password>password</password>
+    </server>
+  </servers>
+</settings>
+```
+
+Configure the plugin in your `pom.xml`:
+
+```xml
+<plugin>
+  <groupId>org.apache.tomcat.maven</groupId>
+  <artifactId>tomcat-maven-plugin</artifactId>
+  <version>${project.version}</version>
+  <configuration>
+    <url>http://localhost:8080/manager/text</url>
+    <server>tomcat</server>
+    <path>/myapp</path>
+  </configuration>
+</plugin>
+```
+
+### Run with Custom Port
+
+Configure custom HTTP port in your `pom.xml`:
+
+```xml
+<plugin>
+  <groupId>org.apache.tomcat.maven</groupId>
+  <artifactId>tomcat-maven-plugin</artifactId>
+  <version>${project.version}</version>
+  <configuration>
+    <port>9090</port>
+    <path>/</path>
+  </configuration>
+</plugin>
+```
+
+## Build
+
+```bash
+mvn clean install
+```
+
+To run integration tests:
+
+```bash
+mvn clean install -Prun-its
+```
+
+Override default ports for integration tests:
+
+```bash
+mvn clean install -Prun-its -Dits.http.port=8080 -Dits.ajp.port=8009
+```
+
+## Snapshots Deployment
+
+To deploy a snapshot version to 
https://repository.apache.org/content/repositories/snapshots/, you must run:
+
+```bash
+mvn clean deploy
+```
+
+Note you need some configuration in `~/.m2/settings.xml`:
+
+```xml
+<server>
+  <id>apache.snapshots.https</id>
+  <username>your asf id</username>
+  <password>your asf password</password>
+</server>
+```
+
+**NOTE:** A Jenkins job deploys SNAPSHOT automatically 
https://builds.apache.org/job/TomcatMavenPlugin/. So no real need to deploy 
manually, just commit and Jenkins will do the job for you.
+
+## Site Deployment
+
+Checkstyle: this project uses the Apache Maven checkstyle configuration for 
IDE code style files. See 
http://maven.apache.org/developers/committer-environment.html.
+
+Site: to test site generation, just run `mvn site`. If you want more reporting 
(javadoc, pmd, checkstyle, jxr, changelog from jira entries), use `mvn site 
-Preporting`.
+
+To deploy site, use:
+
+```bash
+mvn clean site-deploy scm-publish:publish-scm -Dusername=$svnuid 
-Dpassword=$svnpwd -Preporting
+```
+
+The site will be deployed to http://tomcat.apache.org/maven-plugin-trunk 
($svnuid is your asf id, $svnpwd is your asf password).
+
+When releasing, deploy with `-Psite-release`.
+
+## Releasing
+
+For release, your `~/.m2/settings.xml` must contain:
+
+```xml
+<server>
+  <id>apache.releases.https</id>
+  <username>asf id</username>
+  <password>asf password</password>
+</server>
+```
+
+And run:
+
+```bash
+mvn release:prepare release:perform -Dusername= -Dpassword=
+```
+
+(username/password are your Apache svn authz)
+
+## Test Staged Tomcat Artifacts
+
+To test staging artifacts for a vote process:
+
+* Activate a profile: `tc-staging`
+* Pass staging repository as parameter: `-DtcStagedReleaseUrl=`
+* Pass Tomcat version as parameter: `-DtomcatVersion=` (for Tomcat 10/11) or 
`-Dtomcat9Version=` (for Tomcat 9)
+
+Sample for Tomcat 10/11 artifacts:
+
+```bash
+mvn clean install -Prun-its -Ptc-staging 
-DtcStagedReleaseUrl=stagingrepositoryurl -DtomcatVersion=11.0.21
+```
+
+Sample for Tomcat 9 artifacts:
+
+```bash
+mvn clean install -Prun-its -Ptc-staging 
-DtcStagedReleaseUrl=stagingrepositoryurl -Dtomcat9Version=9.0.117
+```
+
+## Examples
+
+### Example 1: Simple WAR Project
+
+Create a simple WAR project and run it with Tomcat:
+
+```bash
+mkdir -p /tmp/tomcat-test
+cd /tmp/tomcat-test
+
+cat > pom.xml << 'EOF'
+<?xml version="1.0" encoding="UTF-8"?>
+<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 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>com.example</groupId>
+    <artifactId>simple-webapp</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>war</packaging>
+    
+    <dependencies>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <version>4.0.1</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.tomcat.maven</groupId>
+                <artifactId>tomcat-maven-plugin</artifactId>
+                <version>${project.version}</version>
+            </plugin>
+        </plugins>
+    </build>
+</project>
+EOF
+
+mkdir -p src/main/webapp/WEB-INF
+cat > src/main/webapp/index.jsp << 'EOF'
+<!DOCTYPE html>
+<html>
+<head><title>Test App</title></head>
+<body><h1>Hello from Tomcat!</h1></body>
+</html>
+EOF
+
+# Run the application
+mvn tomcat:run
+
+# In another terminal, test it:
+curl http://localhost:8080/simple-webapp-1.0-SNAPSHOT/
+```
+
+### Example 2: Deploy to Remote Tomcat
+
+```bash
+mkdir -p /tmp/tomcat-remote
+cd /tmp/tomcat-remote
+
+cat > pom.xml << 'EOF'
+<?xml version="1.0" encoding="UTF-8"?>
+<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 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>com.example</groupId>
+    <artifactId>remote-deploy</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>war</packaging>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.tomcat.maven</groupId>
+                <artifactId>tomcat-maven-plugin</artifactId>
+                <version>${project.version}</version>
+                <configuration>
+                    <url>http://localhost:8080/manager/text</url>
+                    <server>tomcat</server>
+                    <path>/myapp</path>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
+EOF
+
+mkdir -p src/main/webapp
+cat > src/main/webapp/index.jsp << 'EOF'
+<!DOCTYPE html>
+<html>
+<head><title>Remote Deploy Test</title></head>
+<body><h1>Deployed to remote Tomcat!</h1></body>
+</html>
+EOF
+
+# Deploy (requires Tomcat running with manager app)
+mvn package tomcat:deploy
+```
+
+## Mailing Lists
+
+- User List: [email protected]
+- Dev List: [email protected]
+
+## License
+
+Licensed under the Apache License, Version 2.0: 
http://www.apache.org/licenses/LICENSE-2.0
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to