Google app engine 要在google app engine中部署的struts2应用程序的文件夹结构

Google app engine 要在google app engine中部署的struts2应用程序的文件夹结构,google-app-engine,struts2,Google App Engine,Struts2,我正在尝试将一个基于struts2的应用程序部署到google app engine。我正在使用maven构建和部署应用程序。我执行了以下步骤来创建应用程序结构: 1) 执行命令mvn-archetype:generate以创建核心应用程序结构。我遵循交互式命令行步骤生成了结构 2) 在war目录的pom.xml中添加了依赖项,如本文中给出的 3) 在src文件夹中复制了java类和操作 4) 在war目录的src文件夹中创建了struts.xml,并添加了操作声明 5) 我执行了mvn清理安装

我正在尝试将一个基于struts2的应用程序部署到google app engine。我正在使用maven构建和部署应用程序。我执行了以下步骤来创建应用程序结构:

1) 执行命令mvn-archetype:generate以创建核心应用程序结构。我遵循交互式命令行步骤生成了结构

2) 在war目录的pom.xml中添加了依赖项,如本文中给出的

3) 在src文件夹中复制了java类和操作

4) 在war目录的src文件夹中创建了struts.xml,并添加了操作声明

5) 我执行了mvn清理安装。它成功地执行了

6) 我使用ear目录中的mvn appengine:devserver在本地部署了应用程序

现在我尝试导航到一个动作。我得到错误:“未映射任何操作”。我猜它不能正确地使用struts.xml。如果这是问题所在,我应该将struts.xml放在哪里?如果不是,这一错误的原因是什么

我的pom.xml for war目录如下:

<?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>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <groupId>com.me.demo</groupId>
    <artifactId>teststrutsapplication-war</artifactId>

    <parent>
        <groupId>com.me.demo</groupId>
        <artifactId>teststrutsapplication</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <properties>
        <appengine.app.version>1-war</appengine.app.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- Compile/runtime dependencies -->
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-sdk</artifactId>
            <version>1.9.9</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <!-- Test Dependencies -->
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-testing</artifactId>
            <version>1.9.9</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-stubs</artifactId>
            <version>1.9.9</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ognl</groupId>
            <artifactId>ognl</artifactId>
            <version>3.0.8</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.16.3</version>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm-commons</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm-tree</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.20</version>
        </dependency>
        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.12.1.GA</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts.xwork</groupId>
            <artifactId>xwork-core</artifactId>
            <version>2.3.16.3</version>
        </dependency>







    </dependencies>

    <build>
        <outputDirectory>target/${project.artifactId}-${project.version}</outputDirectory> 

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <archiveClasses>true</archiveClasses>
                    <webResources>
                        <!-- in order to interpolate version from pom into appengine-web.xml -->
                        <resource>
                            <directory>${basedir}/src/main/webapp/WEB-INF</directory>
                            <filtering>true</filtering>
                            <targetPath>WEB-INF</targetPath>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

4.0.0
战争
1.0-快照
com.me.demo
teststrutsapplicationwar
com.me.demo
teststrutsapplication
1.0-快照
一战
UTF-8
com.google.appengine
appengine-api-1.0-sdk
1.9.9
javax.servlet
servlet api
2.5
假如
jstl
jstl
1.2
com.google.appengine
阿彭金试验
1.9.9
测验
com.google.appengine
appengine api存根
1.9.9
测验
表达式
表达式
3.0.8
org.apache.struts
struts2型芯
2.3.16.3
asm
asm
3.3.1
asm
公共空间
3.3.1
asm
asm树
3.3.1
公地io
公地io
2.4
文件上传
文件上传
1.3.1
公地郎
公地郎
2.6
org.freemarker
自由标记
2.3.20
javassist
javassist
3.12.1.GA
org.apache.struts.xwork
X工作核心
2.3.16.3
target/${project.artifactId}-${project.version}
org.apache.maven.plugins
maven战争插件
2.3
符合事实的
${basedir}/src/main/webapp/WEB-INF
符合事实的
WEB-INF

struts.xml应位于src/main/resources文件夹下

此外,如果有帮助的话,您的索引页应该有扩展名.html而不是.jsp。请确保也更新web.xml中的标记