是否可以从多模块项目的父模块中的config
文件夹加载多个Spring-Boot.yml配置文件?
结构如下所示:
parent-module/
pom.xml
config/
application-prd.yml
application-dev.yml
module1
pom.xml
src/main/resources/
logback-spring.xml
bootstrap.yml
mvn -pl module1 spring-boot:run
OR
mvn spring-boot:run
我们知道这是正确的:子POM从父POM继承属性、依赖项和插件配置。
但这不是意味着{parent}/config/application.yml
已经在类路径中了吗?
用于证明的示例项目:https://github.com/djangofan/spring-boot-maven-multi-module-example。克隆它,如果你认为你能解决它就修改它。
不需要编写代码。您可以使用Exec Maven插件进行此操作。将插件添加到父模块:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<configuration>
<mainClass>PACKAGE.MODULE_MAIN_CLASS</mainClass>
<arguments>
<argument>--spring.profiles.active=dev</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
然后运行mvn install
一次,然后在您想启动应用程序时运行mvn exec
。
mvn exec:java -pl module1
有关多模块项目中Maven目标的更多信息,请查看以下答案https://stackoverflow.com/a/11091569/512667。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.example.Application</mainClass>
<workingDirectory>${maven.multiModuleProjectDirectory}</workingDirectory>
<arguments>
<argument>--spring.profiles.active=dev</argument>
</arguments>
</configuration>
</plugin>
在这种情况下,执行:
mvn spring-boot:run -pl module1
调用配置 我在构造函数中得到了一个NullPointerException。
我有以下Maven项目结构: i、 e.Project1、Project2和Project3在目录结构上是对等的,它们都是Spring Boot应用程序(JAR)。我想将Project2和Project3视为Project1的子项,而不改变目录结构。当我在父项目上执行相同的maven命令时,我需要在子项目上过渡地执行所有maven命令。而且最重要的是,我应该能够将它们打包到一个JAR文件中。我在谷
我正在尝试创建一个多模块的项目,包含两个模块,核心和Web。它们都是我在Spring Initialzer上生成的Spring Boot项目。我设置了Maven POM文件,但在部署它时遇到了问题。然而,我很困惑配置是如何工作的。 核心模块将包含域对象/实体、Spring数据JPA存储库、服务,并将打包为一个JAR。Web模块将具有Spring Security、控制器和视图。它将被包装成一场战争
在开始之前,我想说我已经尝试了spring-boot-devtools重新加载多模块maven项目更改中提出的解决方案,这对我并不起作用。 问题: 我有这样一个多模块Spring Boot项目: null 我使用Netbeans GUI如果这有任何帮助。我还尝试从命令行运行该项目,但没有成功。所有模块上的Maven打包设置为。
我设计了一个maven多模块项目,就像下面这个帖子的第一个答案:Multi-module maven with Spring Boot 现在我想要一个通用的maven模块,它可以包含一些供多个微服务使用的模型。如果我将这个公共项目作为第一级父pom的子项目(这样所有由引导注入的依赖项(如jpa、jackson等)都可用于公共项目),那么STS/Spring将它检测为引导应用程序,并抱怨maven
我们正在多模块项目中使用spring boot。 我们有一个域访问模块,它具有公共的域对象类、存储库,以及数据源、JPA、Hibernate等配置,这些都是使用application.properties配置的。我们将所有这些配置放入公共模块中,以避免在更高级模块中重复这些公共配置。 在构建域模块时,这一切都运行良好,因此在测试单元中正确地加载了配置。 由于我们正在使用spring-boot,因此