Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用pom.xml备份文件?_Xml_Maven_Tags - Fatal编程技术网

如何使用pom.xml备份文件?

如何使用pom.xml备份文件?,xml,maven,tags,Xml,Maven,Tags,我这里有三个问题。首先,maven的pom.xml与其他xml文件有什么区别吗 第二,如果我想通过脚本重命名pom.xml所在目录下的文件,我可以在pom.xml中重命名吗?如果可能的话,我应该怎么做 最后,如何在pom.xml中获取当前时间 事实上,我想要实现的是,我希望在mvn打包之前,通过在当前包(.war)上附加时间戳来备份它。我希望整个过程由pom.xml自动化,而不是手动处理它 你好 我想办法得到时间戳,行吗 <plugin> <groupId>org.c

我这里有三个问题。首先,maven的pom.xml与其他xml文件有什么区别吗

第二,如果我想通过脚本重命名pom.xml所在目录下的文件,我可以在pom.xml中重命名吗?如果可能的话,我应该怎么做

最后,如何在pom.xml中获取当前时间

事实上,我想要实现的是,我希望在mvn打包之前,通过在当前包(.war)上附加时间戳来备份它。我希望整个过程由pom.xml自动化,而不是手动处理它

你好

我想办法得到时间戳,行吗

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactID>buildnumber-maven-plugin</artifactId>
  <execution>
  <phrase>package</phrase>
  <configuration>
    <format>{0, date, yyyy-MM-dd HH:mm:ss}</format>
    <items>timestamp</items>  
  </configuration>
  <execution>
</plugin>

org.codehaus.mojo
buildnumber maven插件
包裹
{0,日期,yyyy-MM-dd HH:MM:ss}
时间戳
行吗?如果有效,我如何获得timestamp变量$物品还是$timestamp

谢谢

  • Maven
    pom.xml
    只是另一个xml文件,与其他文件没有区别。它遵循相同的XML标准 现在,对于问题2和3,首先,当您运行
    mvn clean
    时,它将清除目标文件夹中的所有文件,包括
    war

    您可以运行任务来重命名和备份当前war,但在清除之前无法执行该任务。 我建议你采用以下方法:

    • 运行
      maven-antrun插件
      ,作为
      目标的一部分
    • ANT
      目标中,重命名并备份当前打包的war
    或者
    我的建议是:在
    WAR
    pom.xml中,使用当前时间戳和所需版本指定
    元素。这样,每个war都将被复制到maven本地存储库中的不同目录中


    PS:据我所知,您无法在maven中生成时间戳。通过一些外部变量传递它

    也许你应该为你的问题设置上下文以获得更好的答案。不管怎么说,我来了

    • xml是一个xml文件,具有自己的特性。因此,它不同于其他xml文件

    • 有几种方法可以使用maven重命名文件。给出了选项。其中一项是:

    本质上,您将拥有一个pom,其条目与中的条目类似(external
    build.xml
    )。您的
    ant
    build.xml
    将有如下类似的条目:

    <?xml version="1.0"?>
    <project name="dummy">
        ...
        <target name="rename">
            <move file="file.orig" tofile="file.moved"/>
        </target>
        ...
    </project>
    
    
    ...
    ...
    
    • 您可以使用一个特殊的maven变量作为记录的时间戳。有关如何使用它,请参阅本手册

      timestamp表示构建开始的时间戳。自Maven 2.1.0-M1以来


    非常感谢!你的解释很详细,很有帮助。如果你能给我一个代码示例,告诉我如何重命名文件,那将是一个很大的帮助,因为你刚才给出的链接对我来说太难理解了。谢谢,嗨,朋友,运行maven antrun插件看起来不错。但是我只能看到一些文件,我没有重命名的标签。你能给我举个例子说明它的用法吗?提前谢谢!!请注意,我已经找到了一种通过插件查找时间戳的方法。如何将其嵌入要备份的文件名中。是的,您只能在打包后复制工件(
    WAR
    )。不用动它<代码>看起来不错!除了我发现的方法不起作用外,一切都很好。它只是给我xxx${timestamp}而不是那里的实时信息。嗯…密码怎么了?你怎么称呼你的POM?您可以将timestamp变量本身传递到那里<代码>mvn清洁安装-Dtimestamp=“08/05/2011 03:03:00”