在war文件中部署SQLite db文件并使用正确的URL访问

时间:2012-04-19 22:12:15

标签: java spring hibernate sqlite maven

使用以下Maven配置在构建时创建一个sqlite数据库。

            <execution>
                <id>create-db</id>
                <phase>compile</phase>
                <goals>
                    <goal>execute</goal>
                </goals>
                <configuration>
                    <url>jdbc:sqlite:src/main/webapp/WEB-INF/sqlitedb.db</url>
                    <driver>org.sqlite.JDBC</driver>
                    <enableAnonymousPassword>true</enableAnonymousPassword>
                    <autocommit>true</autocommit>
                    <srcFiles>
                        <srcFile>src/main/sql/build.sql</srcFile>
                    </srcFiles>
                </configuration>
            </execution> 

这会打包到war文件中。然后从peristence.xml中引用它。

        <property name="hibernate.connection.url" value="jdbc:sqlite:????/sqlitedb.db"/>

和弹簧配置。

   <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" lazy-init="true">
        <property name="driverClassName" value="org.sqlite.JDBC"/>
        <property name="url" value="jdbc:sqlite:????/sqlitedb.db"/>
        <property name="minIdle" value="2"/>
        <property name="maxActive" value="20"/>
        <property name="maxIdle" value="5"/>
        <!--<property name="poolPreparedStatements" value="true" />-->
    </bean>

我无法弄清楚如何使Spring配置和Hibernate配置查看sqlitedb.db的war文件。

1 个答案:

答案 0 :(得分:9)

在这篇文章发表2年后回答:);可能会帮助很多人:

使用此网址: &#34; JDBC:源码:$ {catalina.base} /webapps/package_name/WEB-INF/classes/sqlitedb.db"

考虑到您已将sqlitedb.db文件放在项目资源中。