当前位置: 首页 > 知识库问答 >
问题:

在我的战争中获得运行时maven部署插件工件版本

丌官绍元
2023-03-14

在运行时是否可以获得my war的maven deploy插件在运行时生成的完整工件版本/内部版本号?

如果maven进程生成并打包了一个包含值的属性文件,就可以了。

请记住,我的项目为每个部署生成唯一的(有时间戳的)工件版本。

共有1个答案

范甫
2023-03-14

试试看:

<configuration>
    <archive>
        <manifest>
            <addDefaultImplementationEntries/>
            <addDefaultSpecificationEntries/>
        </manifest>
    </archive>
</configuration>

这将从pom中添加maven细节,将war构建到Manifest.mf文件中,您可以在运行时读取该文件。

我偶尔使用的另一种方法是对属性文件进行过滤,并将pom值放入其中--如果您已经有了属性文件/配置加载机制,那么这很有用。

然后,在部署它时,使用pom中的相同值,就可以了。

--克里斯

 类似资料:
  • 问题内容: 我注意到在Maven工件的JAR中,project.version属性包含在两个文件中: 是否有建议的方式在运行时读取此版本? 问题答案: 你无需访问特定于Maven的文件即可获取任何给定库/类的版本信息。 你可以简单地使用来获取存储在中的版本信息。幸运的是,足够聪明,不幸的是,默认情况下,也不将正确的信息写入清单! 相反,必须修改的设置元素和,如下所示: 理想情况下,应将此配置放入公

  • 我目前的目标是让gradle在我的机器上的Jetty实例中启动我的web应用程序,这样我就可以针对它编写Selenium测试。Gretty插件似乎正在加载,但我还没有找到任何关于如何创建和配置任务的实际说明。 部分问题是Gretty插件的不同版本和版本存在混淆。首先加载它是一个反复试验的过程。 我正在尝试使用Gradle 5.4.1和Gretty 2.3.1,我相信这是当前的版本(目前)。 我有三

  • 问题内容: 我们在hudson上使用了Maven发布插件,并试图实现发布过程的自动化。发布:准备工作正常。当我们尝试执行release:perform时,它会失败,因为它尝试将源工件两次上载到存储库。 我尝试过的事情 从超级pom中删除确实包含maven源插件的配置文件(不起作用) 在hudson上将发布目标指定为-P!attach-source release:prepare release:p

  • 我正在自学RESTEasy,它将与Maven一起构建,并部署在jBoss中,然后再与Jenkins集成。 目前,我已经创建了一个非常简单的RESTEasy网络服务,并用maven构建了它。我有一个文件和爆炸的战争(这是我相信的战争的解压文件夹),一个与和文件夹在我的netbean里面项目目标文件夹。 我已经安装了JBoss7。x、 并成功启动并验证了它在我的

  • 问题内容: 我有一个构建过程,之后将我的战争上传到我们本地的Maven存储库。 当我们部署到TEST和PROD时,我想使用maven cargo插件并指定要部署到这些环境的版本。如何配置pom(或者可能是一个名为pom-deploy.xml的新pom)以从存储库中拉出特定的战争并进行远程部署? 谢谢 问题答案: 要在新项目中获取WAR文件,只需为其声明一个依赖项。

  • 我正在尝试将一个简单的JSF“hello world”应用程序部署到Jetty 9.3.11,并出现以下错误: war文件包含路径WEB-INF/lib/javax。面-2.2.1。jar有什么问题吗?