저는 스프링 부트 및 프로젝트 프로파일을 사용하고 있습니다. 내 maven 구성 (pom.xml)에 프로필을 추가하고 application.propertie에서 프로필 속성을 가져 오려고했지만 예외가 발생합니다.
여기내 pom.xml 파일의 일부 :
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.x.server.MainApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>profile-development</id>
<properties>
<environment>dev</environment>
<db.username>me</db.username>
<db.password>testme</db.password>
<db.url>jdbc:mysql://localhost:3306/testdb</db.url>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>environment</name>
<value>dev</value>
</property>
</activation>
</profile>
응용 프로그램 속성 :
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=${db.url}
spring.datasource.username=${db.username}
spring.datasource.password=${db.password}
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
그러나 나는이 예외를 얻을 :
Caused by: java.sql.SQLException: Driver:[email protected] returned null for URL:${db.url}
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:326)
at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:200)
at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:708)
at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:642)
at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:464)
at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:141)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:115)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:102)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:126)
at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:380)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:228)
... 45 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
누군가 어떤 아이디어가?
빈 구성 방법은 무엇입니까? 그 수업을 보여줄 수 있습니까? PropertySource가 누락 된 것 같습니다. –
나는 bean에서 작동하지 않지만 메인 클래스에서 @EnableAutoConfiguration을 사용한다. – emoleumassi
확인. '$ {db.url} '과 다른 유사한 속성은 어디에 정의되어 있습니까? –