我如何设置一个使用sqlite4java的简单的gradle项目?
我正在使用sqlite4
java启动一个简单的
java测试项目,并使用java构建.
我可以轻松下载下载的sqlite4java软件库,但我不知道最好的(任何!)的方法来下载本地库并将它们放在正确的位置. 这是我的build.gradle文件: apply plugin: 'java' /* We use Java 1.7 */ sourceCompatibility = 1.7 targetCompatibility = 1.7 version = '1.0' repositories { mavenCentral() } sourceSets { main { java.srcDir 'src' output.classesDir = 'build/main' } test { java.srcDir 'test' output.classesDir = 'build/test' } } dependencies { testCompile group: 'junit',name: 'junit',version: '4.11' compile "com.almworks.sqlite4java:sqlite4java:1.0.392" compile "com.almworks.sqlite4java:libsqlite4java-osx:1.0.392" } 但是当我运行一个简单的测试我得到: TestTest > testSqlite4Basic FAILED com.almworks.sqlite4java.SQLiteException at TestTest.java:15 Caused by: java.lang.UnsatisfiedLinkError at TestTest.java:15 (我正在IntelliJ内部建立,但是正在使用gradle构建选项 – 所以我不认为ItelliJ在运行测试时填满类路径…) 我很确定我第一次尝试构建我有一些关于无法解压缩libsqlite4java-osx ZIP文件的消息,(毫不奇怪,maven中心说它的一个dylib文件). 我需要做什么才能使毕业做正确的事情? ASIDE:我可以通过将下载的.dylib从maven缓存手动复制到我的java.library.path中列出的某个地方来运行(想想我在Mac上使用$HOME / Library / Java / Extensions).但这似乎与包含所有的.gradle文件中的所有设置和依赖关系的整个点相反,不会让我稍后分发任何东西. 我想,你需要使用额外的毕业插件来处理本地库或者做出你自己的具体任务,将本地库上传并放置在正确的位置,以便可以找到并链接.目前我只知道一个这样的插件,希望能解决你的问题https://github.com/cjstehno/gradle-natives 编辑: task copyNtiveDeps(type: Copy) { from (configurations.compile+configurations.testCompile) { include "libsqlite4java-osx-1.0.392.dylib" } into "c:tmp" } 在您的情况下,您只需要将“into”属性设置为java.library.path中的某个路径.第二,你可以使这个任务自动运行,具有gradO任务属性dependsOn和mustRunAfter. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |