Java 如何阻止Gradle复制生成文件夹中的资源
我的resources文件夹中有一个数据库(.db文件),它在每次运行Java代码时都会被复制(我想将该文件保存在那里,因为它“只是”一个大学项目,为了简单起见,我需要它)。 这种复制导致了一个问题,即在运行时通过代码进行的所有更改每次都会丢失,因为这些更改只对生成文件夹中的副本进行,而不是对原始副本进行 如何使Gradle停止复制此文件并强制其使用资源文件夹中的原始文件Java 如何阻止Gradle复制生成文件夹中的资源,java,database,gradle,resources,Java,Database,Gradle,Resources,我的resources文件夹中有一个数据库(.db文件),它在每次运行Java代码时都会被复制(我想将该文件保存在那里,因为它“只是”一个大学项目,为了简单起见,我需要它)。 这种复制导致了一个问题,即在运行时通过代码进行的所有更改每次都会丢失,因为这些更改只对生成文件夹中的副本进行,而不是对原始副本进行 如何使Gradle停止复制此文件并强制其使用资源文件夹中的原始文件 (类似的问题,但没有micronaut:)您可以在构建过程中排除某些文件 build.gradle文件: sourceSet
(类似的问题,但没有micronaut:)您可以在构建过程中排除某些文件 build.gradle文件:
sourceSets {
main {
resources {
exclude '*.db-File'
}
}
}
这很有效。谢谢但是在我可以通过DriverManager.getConnection(jdbc:sqlite::resources:+dbUrl)访问该文件之前;(dbUrl仅为“UserData.db”,因为它直接位于resources文件夹中,没有子目录)现在它只与以下对象一起工作:dbUrl=“src/main/resources/UserDb.db”;我想这有点脏。。有更好的方法解决这个问题吗?@fusion,理想情况下,您应该在环境变量中传递正在运行的数据库的连接URL。为了简化操作,您可以将连接URL放在“application.properties”文件中并从中读取。我决定在资源文件夹中的db中设置一些测试数据,让我的程序将此db复制到主目录(如果它还不存在)并从那里访问它。也许是更好的方法。不过谢谢你,这确实是我第一个想要的。