क्या IntelliJ Idea पर पुस्तकालय स्थापित करना संभव है?

या क्या मुझे विजुअल स्टूडियो 2017 का उपयोग करना है?

यदि हां, तो मैं इसे कैसे स्थापित करूं? मुझे Google दस्तावेज़ भ्रमित करने वाला लगता है।

7
Mattia Z. 26 सितंबर 2018, 16:14

2 जवाब

सबसे बढ़िया उत्तर

यदि कोई और यहां आता है, तो ग्रैडल के साथ ओआर-टूल्स बनाने और चलाने के लिए यह मेरा कॉन्फ़िगरेशन है।

सबसे पहले, मेरे पास एक शीर्ष-स्तरीय प्रोजेक्ट है जहां मेरे पास एप्लिकेशन-संबंधित कोड है, जिसे suite कहा जाता है, और एक मॉड्यूल जहां मैंने सभी OR-Tools संबंधित कोड को अलग कर दिया है, जिसे optimization कहा जाता है। optimization मॉड्यूल में, मेरे पास एक फ़ोल्डर lib है जिसमें निम्न फ़ाइलें हैं (सुनिश्चित नहीं है कि आपको उन सभी की आवश्यकता है):

com.google.ortools.jar
libcvrptw_lib.so
libdimacs.so
libjniortools.so
libortools.so

जैसा कि आप देख सकते हैं, यहां कोई protobuf.jar नहीं है - यह बाद में आता है। फिर मैंने अपनी मौजूदा शीर्ष-स्तरीय build.gradle फ़ाइल में निम्नलिखित को जोड़ा:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.6'
    }
    ...
}

apply plugin: 'application'

applicationDefaultJvmArgs = ["-Djava.library.path=optimization/lib"]

mainClassName = 'com.package.name.MainClass'

ध्यान दें कि applicationDefaultJvmArgs के लिए आपको अपने lib फ़ोल्डर का पथ बदलना होगा। और हां, mainClassName को अपनी मुख्य कक्षा में अपडेट करें।

और अंत में, मेरे optimization मॉड्यूल के build.gradle में मैंने निम्नलिखित निर्भरताएँ जोड़ीं:

dependencies {
    compile files('lib/com.google.ortools.jar')
    compile 'com.google.protobuf:protobuf-java:3.0.0'
    ...
}

उपरोक्त ortools.jar को lib फोल्डर से संकलित करता है और protobuf-java लाइब्रेरी को mavenCentral से डाउनलोड करता है।

पुनश्च. अपने जावा वर्ग में jniortools लाइब्रेरी लोड करना न भूलें जो OR-टूल्स को एक्सेस करता है:

static {
    System.loadLibrary("jniortools");
}

जाहिर है, यह काम करने के लिए आपको उप-मॉड्यूल की आवश्यकता नहीं है - यह सिर्फ मेरा कार्यान्वयन है। उम्मीद है ये मदद करेगा।

6
Georgios 13 अक्टूबर 2018, 11:02

हम पूर्वनिर्मित बायनेरिज़ अभिलेखागार प्रदान करते हैं cf https://developers.google.com/optimization/install /java/windows#installing-or-tools ताकि आपको केवल इसका उपभोग करने के लिए विजुअल स्टूडियो की आवश्यकता न हो...

फिर इसे ग्रैडल में उपयोग करने के लिए आपको lib/com.google.ortools.jar, lib/protobuf.jar, JNI फ़ाइल jniortools.dll निकालने की आवश्यकता होगी जो कि ortools.lib पर भी निर्भर हो सकती है।

मेकफ़ाइल नियम rjava को सेट करने के लिए पैरामीटर जानने के लिए और इसे अपने ग्रेडल प्रोजेक्ट में जोड़ने का प्रयास करें ...

कुछ इस तरह:

javac -d output_dir -cp lib/com.google.ortools.jar;lib/protobuf.jar YourFile.java
java -Djava.library.path=lib -cp output_dir;lib/com.google.ortools.jar;lib/protobuf.jar YourFile

तो आपको पता होना चाहिए कि ग्रैडल में क्लास पाथ और जावा लाइब्रेरी पाथ को कैसे मैनेज किया जाता है।

2
Mizux 28 सितंबर 2018, 09:54