2016-09-26 10 views
2

Я работаю с весенним загрузчиком и профилем проекта. Я добавил некоторый профиль в мою конфигурацию 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 

есть кто-нибудь идеи?

+1

Как настроить фасоль? Можете ли вы показать этот класс? Я думаю, что вам не хватает PropertySource. –

+0

i не работает с bean, но я использую @EnableAutoConfiguration в основном классе. – emoleumassi

+0

Хорошо. но где ваши '$ {db.url}' и другие подобные свойства определены? –

ответ

0

В вашем профиле profile-development для (возможно) разработки вы определяете db.url. Но ошибка, похоже, не разрешила выражение ${db.url}.

Наиболее вероятной ошибкой является то, что сборка не была выполнена с правильным профилем или фактически другим профилем (по умолчанию) пропустите db.url.

+0

Профиль-профиль является профилем по умолчанию и имеет db.url. Когда я строю, я вызываю эту команду с помощью среды: mvn clean spring-boot: run -Denvironment = dev и получить то же исключение – emoleumassi

+0

И сгенерированный (скопированный) файл свойств приложения в целевом каталоге не заменяется (фильтруется)? Извините, тогда я не знаю. –

 Смежные вопросы

  • Нет связанных вопросов^_^