【问题标题】:Deploy dynamically project on Tomcat from eclipse从eclipse在Tomcat上动态部署项目
【发布时间】:2018-11-20 13:28:58
【问题描述】:

我想知道是否有一种方法可以在 eclipse 上动态部署 ma​​ven 项目并获得与打包在 WAR 中一样的结果。

我注意到,当我右键单击项目并选择“运行方式”然后选择 tomcat 时,部署的项目无法正常工作,但是当我生成战争并手动放置时,它工作正常。

这意味着每次我更改代码中的某些内容时,我都必须生成一个战争并在服务器上手动部署它。

当我从 Eclipse 运行时,是否有一个 tomcat 配置可以用来输出类似于我生成战争时的输出?

我正在使用 tomcat 6.0.26 和 eclipse Neon 3。

谢谢。

【问题讨论】:

  • 我想你不使用字符串引导,不是吗?如果是,请查看stackoverflow.com/questions/4542108/…
  • 当你说它是一个 Maven 项目时,Eclipse 知道吗?是否安装了 Eclipse m2e-wtp 插件?

标签: java eclipse tomcat


【解决方案1】:

是的,你可以...

一般来说步骤是:

1) 通过将pom.xml 像这样添加到项目根文件夹中,将您现有的项目变成一个 maven 项目:

<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.yourcompany</groupId>
    <artifactId>yourApp</artifactId>
    <packaging>war</packaging>
    <version>2.3</version>
    <name>Your Web Application</name>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>

    <!-- Add your dependencies as needed. -->

    </dependencies>
</project>

2) 右键单击​​项目和Configure -> Convert to Maven Project

3) 在 Eclipse Servers 视图中添加一个 Apache Tomcat。

4) 右键单击​​ Tomcat 服务器和 Add and Remove ... -> Add 您的项目。

5) 以debug 模式启动Tomcat。

现在 Eclipse 将以扩展的 .WAR 格式部署项目,在每次更改时替换并热部署资源,并在更改时编译 Java 类。 如果不更改 Java 方法或类签名,Java 源代码和资源的更改会立即生效,无需重新启动 Tomcat 或 Web 应用程序。

【讨论】:

  • 该项目已经是一个maven项目。问题是,当我执行您描述的步骤时,爆炸的战争内容与使用 Maven 目标生成的战争不同。当我比较这 2 个输出时,我发现缺少一些 jar,所以我手动添加了它们,这破坏了项目。
  • @Nabil 您能否在问题中提供您的 POM 的相关部分,显示您如何声明对这个 jar 的依赖关系?听起来我们越来越接近实际问题了。
【解决方案2】:

问题是当我从 eclipse 运行项目时我没有配置 maven 配置文件,这解释了为什么在从战争和直接从 eclipse 部署项目时我有不同的输出。这里的答案Maven Profiles and Tomcat in Eclipse 解释了当你从 eclipse 在服务器上运行时如何配置 maven 配置文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 2012-02-29
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 2016-12-29
    • 1970-01-01
    相关资源
    最近更新 更多