我想知道是否有一种方法可以在 eclipse 上动态部署 maven 项目,并获得与打包在WAR中相同的结果。
我注意到,当我右键单击该项目并选择“运行方式”,然后选择tomcat时,部署的项目无法正常运行,但是当我生成战争并将其手动放置时,它可以正常工作。
这意味着每次我更改代码中的某些内容时,我都必须产生战争并将其手动部署到服务器上。
是否有一个 tomcat 配置,当我从日食运行时(类似于发动战争时),我可以使用该配置吗?
我正在使用tomcat 6.0.26和Eclipse Neon 3。
谢谢。
答案 0 :(得分:0)
是的,你可以...
通常,这些步骤是:
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应用程序。
答案 1 :(得分:0)
问题是当我从Eclipse运行项目时,我没有配置Maven配置文件,这解释了为什么从战争和直接从Eclipse部署项目时我会有不同的输出。 Maven Profiles and Tomcat in Eclipse的答案说明了从Eclipse在服务器上运行时如何配置Maven配置文件。