Я разрабатываю образец мультимодульного проекта maven, который использует MyBatis. Единственные зависимости, которые у меня есть, - это мои собственные модули и mybatis.
На мой сохранение слоя, я создал следующие на pom.xml
:Внутри mybatis-config.xml можно читать свойства из pom.xml в проекте Maven?
<properties>
<!-- JDBC -->
<jdbc.url>jdbc:postgresql://localhost:5432/kpi?autoReconnect=true</jdbc.url>
<jdbc.driverClassName>org.postgresql.Driver</jdbc.driverClassName>
<jdbc.username>postgres</jdbc.username>
<jdbc.password>postgres</jdbc.password>
<jdbc.initConnections>15</jdbc.initConnections>
<jdbc.maxActive>40</jdbc.maxActive>
<jdbc.maxIdle>5</jdbc.maxIdle>
</properties>
Затем в mybatis-config.xml
внутри src/main/resources
, я сделал следующее:
<environments default='development'>
<environment id='development'>
<transactionManager type='JDBC'/>
<dataSource type='POOLED'>
<property name='driver' value="${jdbc.driverClassName}"/>
<property name='url' value="${jdbc.url}"/>
<property name='username' value="${jdbc.username}"/>
<property name='password' value="${jdbc.password}"/>
</dataSource>
</environment>
В конце концов, когда я пытаюсь запустить приложение, и др следующее сообщение об ошибке:
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: ${jdbc.driverClassName}
Но, когда я изменить код выше, явно вводить информацию с помощью JDBC, она работает:
<environments default='development'>
<environment id='development'>
<transactionManager type='JDBC'/>
<dataSource type='POOLED'>
<property name='driver' value="org.postgresql.Driver"/>
<property name='url' value="jdbc:postgresql://localhost:5432/kpi?autoReconnect=true"/>
<property name='username' value="postgres"/>
<property name='password' value="postgres"/>
</dataSource>
</environment>
</environments>
Итак, что можно сделать это работает, используя информацию, которую я вложил в мой pom.xml
? Я пробовал использовать тег <properties resource='pom.xml'/>
, но безуспешно.
Заранее спасибо.
Hello @Adrian Shum! Я приму ваше предложение, мне больше не нужно 'pom.xml' для этого. Я собираюсь предоставить конфигурационный файл для конфигурации базы данных. Большое спасибо. –