<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts-examples</artifactId>
    <version>1.0.0</version>
  </parent>

  <artifactId>debugging-struts</artifactId>

  <name>Debugging Struts</name>

  <description>Exception handling example application for the Struts 2 getting started tutorials</description>
  <packaging>war</packaging>
  <dependencies>
  		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-config-browser-plugin</artifactId>
			<version>${struts2.version}</version>
		</dependency>
  </dependencies>

  <build>
    <finalName>debugging-struts</finalName>
    <plugins>
      <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>${jetty-plugin.version}</version>
        <configuration>
          <webApp>
            <contextPath>/${artifactId}</contextPath>
          </webApp>
          <stopKey>CTRL+C</stopKey>
          <stopPort>8999</stopPort>
          <scanIntervalSeconds>10</scanIntervalSeconds>
          <scanTargets>
            <scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
          </scanTargets>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
