maven.build.timestamp没有在部署到tomcat的maven eclipse构建中解析

时间:2014-12-15 13:46:09

标签: eclipse maven tomcat tomcat8

我正在尝试使用Eclipse Luna调试我的Maven webapp项目以在Tomcat 8中启动它。不幸的是,在尝试将其部署到Tomcat时,资源过滤期间的构建时间戳没有得到解决。 Eclipse构建的WAR文件已解决,但它部署到Tomcat(通过" Run on Server"选项)并没有解决。

在我的pom.xml中,我得到了:

<properties>
  <timestamp>${maven.build.timestamp}</timestamp>
</properties>

<build>
  <finalName>rapid-installer</finalName>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.4</version>
      <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
      </configuration>
    </plugin>
  </plugins>
  <resources>
    <resource>
      <directory>src/main/resources</directory>
      <filtering>true</filtering>
    </resource>
  </resources>
</build>

在属性文件中,我已经

build.date=${timestamp}

2 个答案:

答案 0 :(得分:5)

我的解决方案是将以下内容添加到我的pom.xml中,以便时间戳可用,使得应用程序在Tomcat启动时不会崩溃。

<profiles>
  <profile>
  <id>m2e</id>
    <activation>
      <property>
        <name>m2e.version</name>
      </property>
    </activation>
    <properties>
      <maven.build.timestamp>2014-01-01</maven.build.timestamp>
    </properties>
  </profile>
</profiles>

现在,当应用程序通过&#34; Run on Server&#34;部署到Tomcat时在Eclipse中,它始终显示构建时间戳。有关为何需要执行此操作及其工作原理的详细信息:https://bugs.eclipse.org/bugs/show_bug.cgi?id=388874

答案 1 :(得分:1)

遗憾的是,正常

使用eclispe WTP机制在Tomcat中部署应用程序可以完全绕过maven生命周期。一旦你开始使用战争叠加和maven提供的这种“奇特”的东西,这就会变得更加烦人。

到目前为止,唯一的解决方案是不使用eclipse WTP视图进行部署,而是使用maven cargo插件。