【问题标题】:SpringBoot: GroupId and ArtifactId based on a property dynamicallySpringBoot:GroupId和ArtifactId动态基于一个属性
【发布时间】:2018-09-07 12:51:06
【问题描述】:

根据属性文件定义 GroupId 和 ArtifactId

我想知道是否可以从 Eclipse 中动态设置 SpringBoot 应用程序中文件 application.properties 上的属性集的 GroupId 和 ArtifactId 因为从同一个项目中,我基于@Profile生成了2个不同的项目(核心项目和网络项目)

Attached Image

【问题讨论】:

  • 欢迎来到 SO!为什么不直接将其添加到pom.xml 文件中?或者您可能要求动态设置组 ID 和工件 ID?
  • 您的项目结构听起来不正确恕我直言。为什么不将项目拆分为有效的 Web 和核心项目?否则请看这里stackoverflow.com/questions/29428275/…
  • 您可以根据需要向 application.properties 添加任意数量的属性并使用这些属性,但 Spring 从 pom 中提取其 BuildProperties 值。

标签: spring eclipse maven spring-mvc spring-boot


【解决方案1】:

不,不能使用属性文件设置 groupid 和 artifact id。但是对于直接使用 pom 设置配置文件,您可以使用以下选项。

“可以使用 -P CLI 选项显式指定配置文件。此选项采用一个参数,该参数是要使用的配置文件 ID 的逗号分隔列表。指定此选项时,选项中指定的配置文件除了通过其激活配置或 settings.xml 中的部分激活的任何配置文件之外,还将激活参数"

可以在 Maven 设置中通过该部分激活配置文件。本节采用一个元素列表,每个元素内部都包含一个<profile-id>

<settings>
  ...
  <activeProfiles>
    <activeProfile>profile-1</activeProfile>
  </activeProfiles>
  ...
</settings>

如果使用弹簧靴,您还可以应用 spring.profiles.active=profile-1,profile-2

CHECKOUT THIS URL FOR FURTHER MORE

【解决方案2】:

您想根据项目中设置的活动配置文件构建两个或更多不同的 jar。

Maven 可以支持这一点,请参阅 https://maven.apache.org/guides/mini/guide-building-for-different-environments.html,它为不同环境的构建和打包工件创建配置文件。

此功能旨在支持不同的构建环境,例如生产、开发、测试......但如果您使用配置文件来模块化您的项目,我认为没有人会逮捕您。

【讨论】:

    猜你喜欢
    • 2015-07-11
    • 1970-01-01
    • 2016-05-03
    • 2013-12-19
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 2020-03-02
    • 1970-01-01
    相关资源
    最近更新 更多