[英]Deploying a jar file and external resource files with Maven
我是Maven的新手,想通过自动将几个文件和文件夹部署到生产环境来自动化一些构建步骤:
my-app-0.7.0-jar-with-dependencies.jar (main application file)
conf.properties (configuration file that can be edited on the fly)
files_folder (folder that contains html, css etc. that can be edited on the fly)
我的项目结构如下所示:
src
main
java
resources (contains resources that should be included in the .jar)
conf.properties.jar
files_folder
。
我首先在pom.xml
添加<resources>
元素
<resources>
<resource>
<directory>.</directory>
<includes>
<include>conf.properties</include>
<include>files_folder/**/*.*</include>
</includes>
<targetPath>..</targetPath>
</resource>
</resources>
这会将conf.properties
和files_folder
移到target
目录,这很好(我可以复制.jar,conf.properties和files_folder并运行它们)。
但是,这些文件不会移动到C:\\Users\\my_name\\.m2\\...
或外部存储库中的本地存储库中(在安装和部署阶段)。
我的想法是,应将这些资源移至存储库,因为:
因此,主要问题是:
像其他响应一样,我建议您需要考虑一种持续集成方法。 我以前在Jenkins上有很好的经验。 它是免费的,并具有很多功能。 它还拥有一个开发了一系列插件的大型社区:
https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
根据您要部署的内容以及您希望如何部署它,一些可能对您的过程有帮助的插件是:
您可以将这些文件保留在src / main / resources / META-INF中,而不是将这些文件保留在类路径中。 因此,当您使用Maven构建项目时,并且如果已将包装选择为ear <artifactId>ProjectName</artifactId> <version>Version</version> <packaging>ear</packaging>
那么所有这些文件都将打包在jar中,并将在您的maven存储库中可用
Maven是构建工具,而不是部署工具。 对于部署到诸如Test,Q&A或Prod之类的环境,其他工具则更适合诸如Chef,Puppet,或者可能只是一个简单的shell脚本等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.