【问题标题】:Maven Web project via Eclipse通过 Eclipse 的 Maven Web 项目
【发布时间】:2011-12-07 18:45:21
【问题描述】:

我在 Eclipse 中创建了一个 DynamicWebProject,然后按下 RUN 按钮。构建项目后打开浏览器窗口。这完全符合我的要求。现在我用 webapps archtype 创建一个 Maven 项目。有一个默认的 index.jsp 文件。现在我按下运行按钮。没啥事儿。然后我创建了一个运行配置并添加了 Tomcat 服务器。现在服务器启动但浏览器没有启动,我的应用程序也没有部署。我应该进行哪些更改才能使其喜欢动态 Web 项目案例?没有 mvn deploy 或打包到 WAR 归档和提取。

【问题讨论】:

  • 你安装m2eclipse插件了吗?

标签: java eclipse maven


【解决方案1】:

我试图总结在eclipse中的tomcat服务器上部署一个简单的maven web应用程序所需的步骤(用eclipse indigo测试)。

1.) 获取日食
2.) 通过 Eclipse 市场安装两个插件(Eclipse 的 Maven 集成和 Eclipse WTP 的 Maven 集成,也称为 m2eclipse 和 m2eclipse extras)
3.) 下载 tomcat 服务器
4.) 打开 Eclipse - Server 视图并添加 tomcat 服务器
5.) 创建一个新的 maven 项目(使用 archtype web-app)
6.) 使用以下代码增强您的 pom:

<dependencies>
    <!-- ... something like junit could already be in dependencies -->
    <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
           <scope>provided</scope>
    </dependency>
    <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
    </dependency>
</dependencies>

7.) 右键单击​​ tomcat 服务器(eclipse - 服务器视图)并添加新的 maven 项目
8.) 启动 tomcat
9.) 打开浏览器并输入http://localhost:8080/APPNAME

按照上述步骤,maven webapp 应该会自动部署到 tomcat。无需“mvn deploy”或打包到 WAR 以手动放入 tomcat。

双击服务器配置打开服务器属性。在那里你可以找到 webapps 的部署路径。

【讨论】:

  • 我按照上述步骤操作,但我的应用程序没有部署。
  • 您的问题是什么?您是否也安装了 maven extras(用于 eclipse wtp 的 maven 集成)?你的tomcat是怎么集成的? (通过日食或分离)没有更多信息,这对任何人来说都很难解决。
【解决方案2】:

老实说,我不明白您要做什么(或做过),但是,如果您甚至提到 maven 和 eclipse,那么您应该使用 m2eclipse - t 然后您应该深入研究 maven 文档 - 有很多例子,其中一个可能 http://mojo.codehaus.org/tomcat-maven-plugin/run-mojo.html

如何通过maven设置tomcat。对于开发,我建议切换到码头 - 它更方便,更容易部署(实际上它是自动部署):

它在 pom.xml 中的一小部分

<!-- Normally, testing a web application involves compiling Java sources, 
                    creating a WAR and deploying it to a web container. Using the Jetty Plugin 
                    enables you to quickly test your web application by skipping the last two 
                    steps. By default the Jetty Plugin scans target/classes for any changes in 
                    your Java sources and src/main/webapp for changes to your web sources. The 
                    Jetty Plugin will automatically reload the modified classes and web sources -->
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>${jetty.version}</version>
                <configuration>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                    <connectors>
                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                            <port>${jetty.port}</port>
                            <maxIdleTime>60000</maxIdleTime>
                            <Host>localhost</Host>
                        </connector>
                    </connectors>
                </configuration>
            </plugin>

我确信使用 tomcat 也可以实现类似的功能。

你问的其他问题,我认为,太模糊了,无法回答,所以请更具体一点。

【讨论】:

    【解决方案3】:

    使用 Eclipse Run-Jetty-Run 运行你的项目,一键运行,无需任何配置!

    参考 http://code.google.com/p/run-jetty-run/

    【讨论】:

      猜你喜欢
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 2012-06-08
      相关资源
      最近更新 更多