मैं जावा का उपयोग कर sqlite4java और इमारत का उपयोग कर एक साधारण जावा परीक्षण प्रोजेक्ट शुरू कर रहा हूं।मैं एक सरल ग्रेडल प्रोजेक्ट कैसे स्थापित कर सकता हूं जो sqlite4java का उपयोग करता है?
मैं कोर 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 उपयोग कर रहा हूँ बिल्ड विकल्प - इसलिए मुझे नहीं लगता कि यह परीक्षण चलाने पर कक्षा पथ को भरने वाला इटेलिज़ है ...)
मुझे यकीन है कि पहली बार मैंने निर्माण करने की कोशिश की, मुझे कुछ अनदेखा करने में असमर्थ होने के बारे में कुछ संदेश मिला e libsqlite4java-osx ज़िप फ़ाइल, (आश्चर्य की बात नहीं है क्योंकि मैवेन सेंट्रल इसकी एक डाइलिब फ़ाइल कहता है)।
धीरे-धीरे सही काम करने के लिए मुझे क्या करने की ज़रूरत है?
एएसआईडीई: मैं में कहीं न कहीं मेरे java.library.path
में सूचीबद्ध मैन्युअल Maven कैश से डाउनलोड .dylib
को कॉपी करके चलाने के लिए कोड प्राप्त करने में सक्षम हूँ (थिंक आई पर अपने मैक $HOME/Library/Java/Extensions
प्रयुक्त)। लेकिन यह .gradle
फ़ाइल में सभी सेटअप और निर्भरताओं को पैकेजिंग के पूरे बिंदु के विपरीत लगता है, और मुझे बाद में आसानी से कुछ वितरित करने नहीं देगा।
ऐसा लगता है कि कुछ है कि लगभग एंड्रॉयड Gradle के लिए इस करता है जैसे - https://github.com/nhachicha/android-native-dependencies लेकिन यह ओएस-एक्स का समर्थन नहीं करता है। और मुझे यकीन नहीं है कि ग्रेडल के एंड्रॉइड संस्करण के बाहर इसका उपयोग करने में अन्य समस्याएं हैं या नहीं। –
क्षमा करें मैं तुरंत समस्या का समाधान नहीं कर सकता, लेकिन मुझे यह पता चला कि यह इंगित करता है कि आप अकेले नहीं हैं और यह विशिष्ट नहीं है https://discuss.gradle.org/t/how-can-i-add-a -डिलीब-टू-ए-प्रोजेक्ट-निर्भरता/3115 –
http://stackoverflow.com/questions/29437888/using-gradle-with-native- निर्भरता भी प्रासंगिक दिखती है –