【问题标题】:Eclipse Tomcat resources Available list doesn't contain Gwt 2.7.0 maven appEclipse Tomcat 资源可用列表不包含 Gwt 2.7.0 maven 应用程序
【发布时间】:2015-11-22 21:09:42
【问题描述】:

我正在尝试配置我用 maven 构建的 GWT 2.7.0 应用程序,以便与 Eclipse IDE 中的 Tomcat7 服务器一起使用。

我的项目here is link 使用 maven 从 linux 控制台编译并在 Tomcat 服务器中正常运行。这是我的运行方式:

在第一个 linux shell 中:

mvn clean install
mvn tomcat7:run-war-only

在第二个外壳中:

mvn gwt:run -pl web

添加Tomcat资源窗口:

我的项目gwt_2.7.0_maven_eclipse 不存在。 我不明白为什么。

这是我的主要 pom.xml:

<?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>pl.derp</groupId>
    <artifactId>parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0.0-SNAPSHOT</version>
    <modules>
        <module>server</module>
        <module>shared</module>
        <module>web</module>
    </modules>

    <properties>
        <gwtVersion>2.7.0</gwtVersion>
        <webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <tomcat.webport>8082</tomcat.webport>
        <tomcat.ajpport>8182</tomcat.ajpport>
        <tomcat.context>/parent</tomcat.context>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-servlet</artifactId>
            <version>${gwtVersion}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-user</artifactId>
            <version>${gwtVersion}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
            <classifier>sources</classifier>
            <scope>test</scope>
        </dependency>
    </dependencies>


    <build>

        <defaultGoal>clean install tomcat7:run-war-only</defaultGoal>

        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <version>${gwtVersion}</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
            </plugin>

            <!-- IDE -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.7</version>  <!-- Note 2.8 does not work with AspectJ aspect path -->
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>false</downloadJavadocs>
                    <wtpversion>2.0</wtpversion>
                    <additionalBuildcommands>
                        <buildCommand>
                            <name>org.eclipse.jdt.core.javabuilder</name>
                            <arguments>
                            </arguments>
                        </buildCommand>
                        <buildCommand>
                            <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
                            <arguments>
                            </arguments>
                        </buildCommand>
                        <buildCommand>
                            <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
                            <arguments>
                            </arguments>
                        </buildCommand>
                    </additionalBuildcommands>
                    <additionalProjectnatures>
                        <projectnature>com.google.gwt.eclipse.core.gwtNature</projectnature>
                    </additionalProjectnatures>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <path>${tomcat.context}</path>
                    <port>${tomcat.webport}</port>
                    <ajpPort>${tomcat.ajpport}</ajpPort>
                    <systemProperties>
                        <JAVA_OPTS>-XX:MaxPermSize=256m</JAVA_OPTS>
                    </systemProperties>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

你们中的任何人都可以帮助我吗? 我挣扎了几天,无法让它工作。

我已经为此浏览了很多博客和教程。


编辑

这是我在 Eclipse IDE 中的第一个项目结构

经过阅读后,我在 linux shell 中执行了:mvn eclipse:eclipse,它已将我的单个应用程序项目重建为多项目(按项目我是 Eclipse 项目)。结果我得到了这个结构:

【问题讨论】:

    标签: eclipse maven tomcat gwt gwt-2.7


    【解决方案1】:

    您的 Eclipse 项目不是“Web 应用程序项目”(它缺少一些“方面”)。


    你有一个 Eclipse 项目而不是 3-4 个项目,每个 Maven 模块一个,这仍然很奇怪。

    【讨论】:

    • 是的,因为它是 Maven 项目。如何将“Web 应用程序项目”性质添加到我的 Maven 项目中?不知何故在 Eclipse IDE 项目配置或主(父)pom.xml 中?
    • 我更喜欢在 Eclipse 中拥有一个项目而不是四个项目。我尝试过使用:mvn eclipse:eclipse。它成功了,但是我在 Eclipse IDE 中遇到了很多与包名称相关的错误,并且没有创建类等。我已经添加到 Eclipse Package Explorer 中的后期项目结构中
    • 我能理解你为什么喜欢一个 Eclipse 项目,但这意味着你基本上必须自己配置它,并且不能在这里真正利用 Maven(或者必须在你的POM 来帮助配置 Eclipse)。这也意味着您的所有服务器依赖项最终都在 GWT 类路径中(无论如何,在 GWT 代码位于 web 模块中的多模块设置中,情况已经如此),这可能会导致问题(以及减慢 GWT编译和 DevMode/SDM,需要扫描更大的类路径)。
    • 基本上:在 Eclipse 中“手动”配置您的项目,然后可能尝试配置 Maven,以便导入项目(使用 M2Eclipse 或mvn eclipse:eclipse)导致相同的结果。不过,对我来说似乎并不值得麻烦。 YMMV。
    • 好的。我不喜欢一个 Eclipse 项目而不是四个。我只是更喜欢工作的那个。我是 GWT 的新手,我只想开始编码而不是设置。通常我会选择 ant,但依赖项正在杀死我。这是我选择 maven 的方式。如果您可以向我解释更多详细信息,我应该如何使 GWT Maven 项目与 eclipse 一起工作,就像 GWT Ant 项目一样。那么我可以走你的路。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多