我有一个Spring Boot应用程序,有两个配置文件:'dev'和'prod'。在'dev'配置文件应该使用H2数据库,在'prod'-PostgreSQL。
它们在pom.xml中定义如下:
<profiles>
<profile>
<id>prod</id>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1211.jre7</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>dev</id>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
</profile>
</profiles>
spring.profiles.active = prod
另外,对于每个配置文件,我都有两个特定的属性文件:
application-dev.properties:
spring.jpa.show-sql = true
和application-prod.properties(我将应用程序部署到AWS):
spring.datasource.url = jdbc:postgresql://${RDS_HOSTNAME}:${RDS_PORT}/${RDS_DB_NAME}
spring.datasource.username = ${RDS_USERNAME}
spring.datasource.password = ${RDS_PASSWORD}
spring.jpa.hibernate.ddl-auto = update
-Dspring.profiles.active="dev"
***************************
APPLICATION FAILED TO START
***************************
Description:
Cannot determine embedded database driver class for database type NONE
Action:
If you want an embedded database please put a supported one on the classpath.
If you have database settings to be loaded from a particular profile you may need
to active it (the profiles "dev" are currently active).
无法确定数据库类型NONE的嵌入式数据库驱动程序类
spring.datasource.url = jdbc:h2:mem:yourDB
spring.datasource.driverClassName = org.h2.Driver
添加到application-dev.properties
文件中应该可以解决您的问题。
从Spring Boot文档中,在某些情况下可能需要它:
mvn spring-boot:run -Pdev -Dspring.profiles.active="dev"
为什么在依赖项中重写Spring提供的postgresql版本?
无论如何,您使用的postgresql驱动程序版本不是org.postgresql.jdbc.driver
类,而是org.postgresql.driver
。
因此,请在prod配置的属性文件中指定:
spring.datasource.driverClassName = org.postgresql.Driver
A)总结问题 在pom Maven中定义编译器版本有三种方法。我没有提到maven.compiler的版本、插件和版本(意味着maven构建成功),然后是如何选择编译器版本的,我没有提到版本 关于我试过的东西,请参阅b节 我定义了无效的Maven.Compiler.Release。然后它也起作用了 4.0.0 io.flowing.retail flow-retail-kafka-shipping
我正在使用maven项目进行UI自动化,我需要在多个环境和多个浏览器中运行一些测试。我已经创建并添加了pom.xml文件,并声明了其中的属性。但是当我通过终端执行它时,我得到了错误。我用的命令- 错误-[信息]扫描项目...[ERROR][ERROR]处理POM时遇到一些问题:[FATAL]不可解析POM d:\work\cucumber_projects\ui-automation-projec
我们的企业团队维护设置。xml文件,该文件定义了开发项目可以与Maven一起使用的各种概要文件,以构建其构件并将其安装到存储库中。我们期望Jenkins中的每个项目都会使用指定的所需概要文件定义一个-P参数。 这是我的问题:我需要使用的配置文件指定了一个通常对我的项目不可见的存储库(分阶段发布存储库),因此如果该配置文件处于活动状态,则无法依赖该存储库中的任何内容。我需要一种方法来激活我项目的文件
我的ISP不允许我的cpanel托管的laravel站点具有自定义根文件夹(laravel结构中的公用文件夹)。 这意味着我不能让服务器将/public\u html/public作为根目录。它必须始终是/public\u html 根据他们的指导,我设置了以下/public\u html/。htaccess规则,使Laravel公用文件夹显示为根文件夹 这或多或少有效,但并不完全有效。问题是,如
有人能告诉我从外部独立的JavaClient访问Websphere Liberty profile 8.5中定义的数据源的过程吗? 谢谢