Maven 配置文件并安装
如果我为一个应用程序设置了 Maven 构建,并为不同的环境设置了配置文件(比如 prod 与 dev,定义不同的数据库设置等),那么“安装”目标似乎没有意义,因为我不这样做不知道我的存储库中安装了哪个环境 - 我刚刚得到 com.example.myproject:myapp:0.0.1。
我是否误解了什么,或者配置文件应该用于其他目标?
If I have Maven builds set up for an app with profiles set up for different environments (say like prod vs. dev, defining different DB settings and stuff like that) the 'install' goal doesn't seem to make sense, as I don't know which environment got installed into my repo - I've just got com.example.myproject:myapp:0.0.1.
Have I misunderstood something, or are profiles supposed to be used with other goals?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
那么,您可以使用
classifier
属性,以便每个配置文件都使用分类器创建一个jar,即每个环境都有一个唯一的jar。这是一个代码片段来说明这一点。当使用dev
配置文件 (mvn -P dev install
) 运行时,它会创建一个带有-dev
分类器的 jar,例如myapp- dev-0.0.1.jar
Well, you could use the
classifier
attribute so that each profile creates a jar with the classifier, i.e. a unique jar for each environment. Here is a code snippet to illustrate this. When run with thedev
profile (mvn -P dev install
), it creates a jar with-dev
classifier, likemyapp-dev-0.0.1.jar
您运行常用的 mvn 命令,并可以使用 -P http: //maven.apache.org/guides/introduction/introduction-to-profiles.html 因此,这取决于您选择的配置文件以及存储库中安装的内容。
You run the usual mvn commands and can select the appropriate profile with -P http://maven.apache.org/guides/introduction/introduction-to-profiles.html So it dependends on which profile you chose, what gets installed in the repository.