Maven रिपॉजिटरी में Oracle JDBC ड्राइवर ढूंढें


292

मैं अपनी परियोजना पर निर्भरता (रनटाइम स्कोप) के रूप में oracle jdbc ड्राइवर को जोड़ना चाहता हूं - ojdbc14। MVNrepository साइट में POM में डालने के लिए निर्भरता है:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc14</artifactId>
    <version>10.2.0.3.0</version>
</dependency>

बेशक यह काम नहीं करता है क्योंकि यह मावेन द्वारा उपयोग किए जाने वाले केंद्रीय भंडार में नहीं है। 2 प्रश्न:

  1. मुझे एक रिपॉजिटरी (यदि कोई है) कैसे मिलती है जिसमें यह कलाकृति है?

  2. मैं इसे कैसे जोड़ूं ताकि मावेन इसका इस्तेमाल करे?



1
ojdbc6 पब्लिक मैवेन रिपॉजिटरी में: stackoverflow.com/questions/9898499/…
Vadzim

जवाबों:


412

मुझे एक रिपॉजिटरी (यदि कोई है) कैसे मिलती है जिसमें यह कलाकृति है?

दुर्भाग्य से बाइनरी लाइसेंस के कारण ओरेकल ड्राइवर जार के साथ कोई सार्वजनिक भंडार नहीं है। यह कई निर्भरता के साथ होता है लेकिन मेवेन की गलती नहीं है। यदि आप JAR युक्त सार्वजनिक रिपॉजिटरी पाते हैं तो आप सुनिश्चित कर सकते हैं कि यह अवैध है।

मैं इसे कैसे जोड़ूं ताकि मावेन इसका इस्तेमाल करे?

कुछ JAR जिन्हें लाइसेंस कारणों से नहीं जोड़ा जा सकता है, उनमें मावेन सेंट्रल रेपो में एक पोम प्रविष्टि है । बस इसे देखें, इसमें विक्रेता की पसंदीदा मावेन जानकारी है:

<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>

... और इस मामले में फाइल डाउनलोड करने के लिए URL http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html है

एक बार जब आप JAR को डाउनलोड कर लेते हैं तो बस इसे अपने कंप्यूटर रिपॉजिटरी में जोड़ दें (ध्यान दें कि मैंने ग्रुपआईडी, आर्टिडियोआईड और पीओएम से संस्करण खींचा है):

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 \
     -Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=ojdbc.jar -DgeneratePom=true

POM बनाने के लिए अंतिम पैरामीटर आपको pom.xml चेतावनियों से बचाएगा

यदि आपकी टीम में एक स्थानीय मावेन भंडार है, तो यह गाइड वहां JAR को अपलोड करने में मददगार हो सकता है।


@ विक्टर - मैं इन पंक्तियों का पता कहाँ लगा सकता हूँ? सेटिंग में। xml
डेजेल

1
सेटिंग्स में वे पंक्तियाँ नहीं हैं। xml लेकिन एक कमांड, एक बार आपके पास JAR है कि कमांड इसे आपके स्थानीय रिपॉजिटरी में जोड़ देगा
विजेता ह्यूगो

15
OJDBC6 के लिए: 1. mvan install: install-file -DgroupId = com.oracle -DartifactId = ojdbc6 -Dversion = 11.2.0.3 -Dpackaging = jar -Dfile = ojdbc6.jar -DgeneratePom = true 2. pom .ml में इसे जोड़ें <निर्भरता> <groupId> com.oracle </ groupId> <विरूपण साक्ष्य> ojdbc6 </ विरूपण साक्ष्य> <संस्करण> 11.2.0.3 </ संस्करण> </ निर्भरता>
oskaraad

11
मैं भटकता हूं कि ओरेकल इतना बदसूरत क्यों है कि उसके पास सभी सार्वजनिक निर्णयों की परवाह नहीं है। यह इन छोटी चीजों में भी बुरा है, जैसे कि अपने स्वयं के मुफ्त पुस्तकालयों की सार्वजनिक उपलब्धता।
आस्कर कल्यकोव

7
@AmanicA stackoverflow.com/a/27943380/7677308 के अनुसार , ओरेकल अब इस तरह के भंडार का आयोजन करता है
सिल्वरनाक

51

जो भी कारण के लिए, मैं काम करने के लिए उपरोक्त समाधानों में से कोई भी नहीं प्राप्त कर सका। (फिर भी नहीं कर सकते।)

मैंने इसके बजाय जार को अपनी परियोजना में शामिल किया था (धब्बा) और फिर इसके लिए एक "सिस्टम" निर्भरता बनाएं जो जार के लिए मार्ग को इंगित करता है। यह शायद यह करने का सही तरीका नहीं है, लेकिन यह काम करता है। और यह टीम के अन्य डेवलपर्स (या बिल्ड सर्वर स्थापित करने वाले व्यक्ति) को उनके स्थानीय रिपॉजिटरी में जार डालने की आवश्यकता को समाप्त करता है।

अद्यतन : यह समाधान मेरे लिए तब काम करता है जब मैं हाइबरनेट टूल चलाता हूं। हालाँकि, यह WAR फ़ाइल बनाने के लिए काम नहीं करता है। इसमें लक्ष्य WAR फ़ाइल में ojdbc6.jar फ़ाइल शामिल नहीं है।

1) अपनी परियोजना की जड़ में "लिबास" नामक एक निर्देशिका बनाएं।

2) ojdbc6.jar फ़ाइल को कॉपी करें (जो भी जार कहा जाता है।)

3) एक निर्भरता बनाएं जो कुछ इस तरह दिखती है:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc</artifactId>
    <version>14</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/ojdbc6.jar</systemPath> <!-- must match file name -->
</dependency>

बदसूरत, लेकिन मेरे लिए काम करता है।

युद्ध फ़ाइल में फ़ाइलों को शामिल करने के लिए अपने पोम में निम्नलिखित जोड़ें

<build>
    <finalName>MyAppName</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <webResources>
                    <resource>
                        <directory>${basedir}/src/main/java</directory>
                        <targetPath>WEB-INF/classes</targetPath>
                        <includes>
                            <include>**/*.properties</include>
                            <include>**/*.xml</include>
                            <include>**/*.css</include>
                            <include>**/*.html</include>
                        </includes>
                    </resource>
                    <resource>
                        <directory>${basedir}/lib</directory>
                        <targetPath>WEB-INF/lib</targetPath>
                        <includes>
                            <include>**/*.jar</include>
                        </includes>
                    </resource>
                </webResources>
            </configuration>
        </plugin>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>

8
मैं वास्तव में इस समाधान को पसंद करता हूं क्योंकि इसमें नेक्सस स्थापित करने की आवश्यकता नहीं होती है, आमतौर पर एक परियोजना में इस तरह के केवल 1 या 2 जार होते हैं, और यह परियोजना पर अन्य डेवलपर्स सेटअप को सरल करता है क्योंकि उन्हें अपने स्थानीय .m2 env को अपडेट करने की आवश्यकता नहीं है। । (oracle इस के लिए प्रमुख उम्मीदवार होने के नाते)। इसके अलावा, यदि आप अपने स्रोत रेपो को एक नए ओरेकल जार के साथ अपडेट करते हैं, तो सभी डेवलपर्स इसे अगले पुल पर प्राप्त करते हैं।
क्यू बायलर

जार फ़ाइलों को WAR फ़ाइल में जोड़ने के तरीके के बारे में जानकारी जोड़ी गई
ojblass

1
इसने मेरे लिए काम किया - codingcraftsman.wordpress.com/2015/04/20/…
Ashley

1
@ मेरवो, मैंने कई समाधानों की कोशिश की और यह सबसे अच्छा एक था, बहुत बहुत धन्यवाद
महमूद सालेह

34

Oracle JDBC ड्राइवर अब Oracle Maven Repository (मध्य में नहीं) में उपलब्ध है।

<dependency>
    <groupId>com.oracle.jdbc</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.2</version>
</dependency>

ओरेकल मावेन रिपॉजिटरी को एक उपयोगकर्ता पंजीकरण की आवश्यकता है। निर्देशों में पाया जा सकता है:

https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-without-ides

अपडेट 2019-10-03

मैंने देखा कि स्प्रिंग बूट अब मावेन सेंट्रल के ओरेकल जेडडीबीसी ड्राइवर का उपयोग कर रहा है ।

<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>ojdbc10</artifactId>
    <version>19.3.0.0</version>
</dependency>

ग्रेडेल उपयोगकर्ताओं के लिए, उपयोग करें:

implementation 'com.oracle.ojdbc:ojdbc10:19.3.0.0'

उपयोगकर्ता पंजीकरण की कोई आवश्यकता नहीं है।

अद्यतन 2020-03-02

Oracle अब com.oracle.database group id के तहत ड्राइवरों को प्रकाशित कर रहा है। अधिक जानकारी के लिए एंथोनी एकॉली जवाब देखें। धन्यवाद एंथोनी।

Oracle JDBC ड्राइवर JDK6, JDK7 और JDK8 के साथ संगत है

<dependency>
  <groupId>com.oracle.database.jdbc</groupId>
  <artifactId>ojdbc6</artifactId>
  <version>11.2.0.4</version>
</dependency>

Oracle JDBC ड्राइवर JDK8, JDK9 और JDK11 के साथ संगत है

<dependency>
  <groupId>com.oracle.database.jdbc</groupId>
  <artifactId>ojdbc8</artifactId>
  <version>19.3.0.0</version>
</dependency>

Oracle JDBC ड्राइवर JDK10 और JDK11 के साथ संगत है

<dependency>
  <groupId>com.oracle.database.jdbc</groupId>
  <artifactId>ojdbc10</artifactId>
  <version>19.3.0.0</version>
</dependency>

यह पसंदीदा तरीका होना चाहिए।
आशीष

30

जार डाउनलोड करें और इसे अपनी परियोजना में रखें src/lib। अब आप मावेन इंस्टॉलर प्लगइन का उपयोग कर सकते हैं।

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
        <execution>
            <id>install-oracle-jdbc</id>
            <goals>
                <goal>install-file</goal>
            </goals>
            <phase>clean</phase>
            <configuration>
                <groupId>com.oracle</groupId>
                <artifactId>ojdbc6</artifactId>
                <version>11.2.0</version>
                <packaging>jar</packaging>
                <generatePom>true</generatePom>
                <createChecksum>true</createChecksum>
                <file>${project.basedir}/src/lib/ojdbc6.jar</file>
            </configuration>
        </execution>
    </executions>
</plugin>

अब आपको केवल mvn cleanएक बार निष्पादित करना है और ओरेकल लिब आपके स्थानीय मैवेन रिपॉजिटरी में स्थापित है।


9
बहुत उपयोगी विकल्प!
राकेश वाघेला

22

ओरेकल अब maven.oracle.com पर एक मावेन भंडार का पर्दाफाश कर रहा है। हालांकि आपको प्रमाणित होने की आवश्यकता है।

देख Https://blogs.oracle.com/WebLogicServer/entry/weblogic_server_and_the_oracle

ब्लॉग पोस्ट में टिप्पणियों के अनुसार ओजडबेक ड्राइवर निम्नलिखित निर्देशांक पर उपलब्ध होना चाहिए:

<groupId>com.oracle.weblogic</groupId>
 <artifactId>ojdbc7</artifactId>
 <version>12.1.3-0-0</version>
 <packaging>jar</packaging>

7
यह काम करता है। यह थोड़ा झंझट का काम है। आपको यह सुनिश्चित करना होगा कि आपको सही कलाकृतियों को प्राप्त करना है, एक ओरेकल खाता बनाएं, सेटिंग्स में कुछ चीजें जोड़ें। xml और अपनी pom.xml फ़ाइल और सेटिंग्स के लिए उस खाते के लिए एक उपयोगकर्ता नाम और पासवर्ड जोड़ें। xml। Oracle को अपनी लाइसेंसिंग को ठीक करने की आवश्यकता है क्योंकि यह अभी भी PITA है।
ggb667

12
मावेन कलाकृतियों को हास्यास्पद लगने के लिए प्रमाणीकरण की आवश्यकता होती है।
राफेल सोरेस - ट्यूलो

3
यदि आपको किसी कारणवश ojdbc6 का उपयोग करना चाहिए (अर्थात आप जावा 6 पर अटके हुए हैं), तो फिर विरूपण साक्ष्य को बदलकर ojdbc6 और संस्करण को 12.1.2-0-0 पर बदल दें।
dcsohl

मैं जावा 6 के लिए 11 जी रिलीज (11.2.0.4) खोजने की कोशिश कर रहा हूं ... क्या किसी ने पाया है?
jpfreire

2
अद्यतन : इसे बंद कर दिया: पुराने jdbc ड्राइवरों के लिए, आपको groupId को भी बदलना होगा: mvn org.apache.maven.plugins: maven-dependency-plugin: 2.1: get -DrepoUrl = mben.oracle.com -Dartifact = com.oracle.jdbc : ojdbc6: 11.2.0.4
jpfreire

17

इसके साथ प्रयास करें:

<repositories>
    <!-- Repository for ORACLE ojdbc6. -->
    <repository>
        <id>codelds</id>
        <url>https://code.lds.org/nexus/content/groups/main-repo</url>
    </repository>
</repositories>
<dependencies> 
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>
</dependencies> 

14
सिवाय इसके कि यह ओरेकल लाइसेंस का उल्लंघन है।
बेन एल।

3
लाइसेंस की हिंसा, लेकिन काम करता है। मैं इसका उपयोग शैक्षिक उद्देश्यों (उत्पादन में नहीं) के लिए करता हूं। यह 12c ड्राइवर <निर्भरता> <groupId> com.oracle </ groupId> <विरूपण साक्ष्य> ojdbc7 </ विरूपण साक्ष्य> <संस्करण> 12.1.0.2 </ संस्करण> </ निर्भरता>
श्वेतलिन नाकोव

4
लाइसेंसिंग समस्या के अलावा, आपको अपने पोम में अज्ञात रिपोजिटरी को नहीं जोड़ना चाहिए । यह एक सुरक्षा जोखिम प्रस्तुत करता है और आपके निर्माण की धमकी भी दे सकता है। चर्च ऑफ जीसस क्राइस्ट ऑफ लैटर-डे सेंट्स से एक भंडार में आप कितना भरोसा रख सकते हैं ? वे क्या गारंटी देते हैं कि भंडार विश्वसनीय, सुरक्षित और सुरक्षित है, और वे इसके साथ खिलवाड़ नहीं करेंगे? अगर वे हैक हो जाते हैं और ओजडबेक ड्राइवर, या आपके किसी अन्य निर्भरता के किसी अन्य संस्करण को प्रकाशित करते हैं तो क्या होता है?
दिदियर एल

14

1. मैं कैसे एक रिपॉजिटरी (यदि कोई हो) को ढूंढता हूं जिसमें यह कलाकृति शामिल है?

जैसा कि डेविड ने उस समय टिप्पणी की थी जब मैंने उत्तर दिया था कि मैंने वर्तमान में मौजूद नहीं है (उस समय जब मैं अभी लिख रहा हूं) ओटीएन लाइसेंस समझौते से जुड़ा हुआ है। 10.2.0.3.0 और इस तरह के रूप में केवल पुराने संस्करण के लिए इस उत्तर पर विचार करें।

सभी ओरेकल डेटाबेस JDBC ड्राइवर्स को OTN लाइसेंस समझौते के तहत वितरित किया जाता है ।

यदि आप ओटीएन लाइसेंस समझौते को पढ़ते हैं, तो आपको यह लाइसेंस शब्द मिल जाएगा:

आप नहीं कर सकते हैं:
...
- जब तक कि आपके अनुप्रयोगों के साथ कार्यक्रम वितरित न करें;
...

इसलिए आप किसी भी सार्वजनिक मावेन रिपॉजिटरी में ड्राइवर के जार को नहीं ढूंढ सकते हैं, क्योंकि यह अकेले वितरित किया जाएगा, और अगर ऐसा हुआ तो यह लाइसेंस का उल्लंघन होगा।

निर्भरता जोड़ना:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc14</artifactId>
    <version>10.2.0.3.0</version>
</dependency>

(या किसी भी बाद के संस्करण) ojdbc14-10.2.0.3.0.pomकेवल मावेन डाउनलोड करें , और उस पोम में आप पढ़ सकते हैं:

...
<licenses>
    <license>
        <name>Oracle Technology Network Development and Distribution License Terms</name>
        <url>http://www.oracle.com/technology/software/htdocs/distlic.html</url>
    </license>
</licenses>
...

जो आपको ओटीएन लाइसेंस के बारे में सूचित करता है।

2. मैं इसे कैसे जोड़ूं ताकि मावेन इसका इस्तेमाल करे?

उपर्युक्त निर्भरता कार्यों को बनाने के लिए मैं विजेता ह्यूगो से सहमत हूं जो आपको अपने स्थानीय मावेन भंडार ( निर्देशिका) में जार को मैन्युअल रूप से स्थापित करने के लिए यहां सुझाव दे रहे थे .m2:

mvn install:install-file -Dfile={Path_to_your_ojdbc.jar} -DgroupId=com.oracle 
-DartifactId=ojdbc -Dversion=10.2.0.3.0 -Dpackaging=jar

लेकिन मैं यह जोड़ना चाहता हूं कि ऊपर दिया गया लाइसेंस शब्द केवल वहीं सीमा नहीं रखता है जहाँ आप JDBC जार नहीं ढूँढ सकते हैं, लेकिन यह जहाँ आप इसे भी स्थापित करते हैं, वहाँ इसे सीमित कर देता है!

वास्तव में आपके स्थानीय मावेन भंडार को निजी होना चाहिए और साझा नहीं किया जाना चाहिए क्योंकि अगर इसे साझा किया जाता है तो यह एक प्रकार का वितरण होगा जिसमें जार अकेले वितरित किया जाता है, भले ही आपके स्थानीय क्षेत्र नेटवर्क में लोगों का एक छोटा समूह हो, और यह प्रतिनिधित्व करता है OTN लाइसेंस समझौते का उल्लंघन

इसके अलावा, मुझे लगता है कि आपको अपने निगम भंडार प्रबंधक (जैसे आर्टिफ़ैक्ट्री या नेक्सस ) में JDBC जार स्थापित करने से बचना चाहिए क्योंकि यदि इसे स्थापित किया गया था तो यह अभी भी अकेले वितरित किया जाएगा, भले ही आपके संगठन में लोग हों, और यह प्रतिनिधित्व करता है एक OTN लाइसेंस समझौते का उल्लंघन


1
विशेष रूप से, आपके द्वारा उद्धृत लाइन अब आपके द्वारा लिंक किए गए अनुबंध में मौजूद नहीं है। निकटतम रेखा शेष है, मुझे लगता है, "हम आपको एक अनौपचारिक, अप्रमाणिक अधिकार प्रदान करते हैं, जो कि अनमॉडिफाइड प्रोग्राम्स और प्रोग्राम्स डॉक्यूमेंटेशन को कॉपी करने और वितरित करने का अधिकार है, जो कि आपके आवेदन में शामिल है, जो कि एसोसिएटेड प्रोडक्ट, यदि कोई हो, प्रदान करने का इरादा रखता है। आप अपने अंतिम उपयोगकर्ताओं को प्रोग्राम के उपयोग के लिए कोई अतिरिक्त शुल्क नहीं लेते हैं ", जो कि आप देख सकते हैं कि भुगतान से अधिक चिंतित है, यह पुनर्वितरण की बारीकियों से अधिक चिंतित है।
डेविड

13

आप Nexus का उपयोग कर सकते हैं 3 डी पार्टी निर्भरता के साथ-साथ मानक मावेन रिपॉजिटरी में निर्भरता का प्रबंधन करने के का ।


4
इस मामले में नेक्सस कैसे मदद करेगा? यह आर्टवर्क कहां से डाउनलोड करेगा?
जिग्गी

4
जवाब अधूरा है, लेकिन मुझे लगता है कि @Michael Munsey डाउनलोड करने के लिए एक आंतरिक / कॉर्पोरेट रिपॉजिटरी बनाने के लिए कह रहा है
रैंडोल्फ

हाँ। नेक्सस सेट करें, फिर मैन्युअल रूप से जार डाउनलोड करें और उन्हें नेक्सस में डालें ताकि क्रमिक मावेन बिल्ड इसे आपके नेक्सस उदाहरण से खींच सकें।
माइकल मुन्से

1
@MichaelMunsey आम तौर पर आर्टिफैक्ट्री या नेक्सस जैसे रिपॉजिटरी मैनेजर का सुझाव देना एक अच्छा जवाब होगा, लेकिन ओरेकल जेडडीबीसी डेटाबेस ड्राइवरों के विशिष्ट मामले में, यह अच्छा नहीं है, क्योंकि अगर यह काम करता है, तो भी यह आपको आसानी से बेनकाब कर देगा। इस लाइसेंस अवधि के उल्लंघन के कारण परेशानी ।
तारिंगमबेरिनी

6

अब तक, मावेन रिपॉजिटरी का उपयोग करना संभव नहीं है। मैं आइवी का उपयोग निर्भरता प्रबंधन उपकरण के रूप में कर रहा हूं, लेकिन maven2 के ibiblio रिपॉजिटरी का भी उपयोग करता हूं। और यह आइवी के लिए काम कर रहा है:

<dependency org="oracle" name="ojdbc14" rev="10.2.0.2" conf="*->default"/>

Maven2 की निर्भरता कुछ इस तरह हो सकती है:

<dependency> 
    <groupId>oracle</groupId> 
    <artifactId>ojdbc14</artifactId> 
    <version>10.2.0.2</version> 
</dependency>

ध्यान दें कि मैं http://download.java.net/maven/2/ और http://mirrors.ibiblio.org/pub/mirrors/maven/mule/d dependencies /maven2/ [संगठन] / मॉड्यूल] / [ परिभाषित करता हूं संशोधन] / [विरूपण साक्ष्य] - [संशोधन]। [एक्सटी] मेरी आइवी सेटिंग्स पर बाहरी मावेन २ रिपोज के रूप में।


1
यह एक महान जवाब है - आप केवल इस के लिए रेपो जोड़ सकते हैं: दर्पण.ibiblio.org/pub/mirrors/maven/mule/d dependencies / maven2 अपने pom.xml के लिए यह काम करने के लिए।
ग्रोचल

7
यह काम कर सकता है, लेकिन क्या यह कानूनी है? जैसा कि यहां एक अन्य उत्तर में बताया गया है, ओरेकल ड्राइवर को किसी के द्वारा वितरित करने की अनुमति नहीं देता है, लेकिन उन्हें और वे मावेन भंडार की आपूर्ति नहीं करते हैं। यदि आप इस समाधान का उपयोग करते हैं, तो कभी-कभी ड्राइवर को रिपॉजिटरी से हटा दिया जा सकता है जब आप कम से कम इसकी उम्मीद करते हैं।
एलएस

1
@Grouchal यह उत्तर चीजों को काम करता है लेकिन, दुर्भाग्यवश, इस लाइसेंस अवधि के उल्लंघन के कारण आपको परेशानी में डाल देता है ।
तारिंगमबेरिनी

@Grouchal ... http://maven.ibiblio.org/maven/oracleन तो है और न ही है http://maven.ibiblio.org/maven/com.oracle
डेविड

6

आज (27, फरवरी 2020) के अनुसार ओरेकल ने घोषणा की कि इसने JDBC क्लाइंट लाइब्रेरी को 11.2.0.4 (जैसे ojdbc6) से 19.3.0 (उदा ojdbc10) जैसे ग्रुप आईडी com.oracle.database के तहत मावेन सेंट्रल पर प्रकाशित किया है

उदाहरण:

<dependency>
  <groupId>com.oracle.database.jdbc</groupId>
  <artifactId>ojdbc10</artifactId>
  <version>19.3.0.0</version>
</dependency>

4

ओरेकल JDBC ड्राइवर अब मावेन सेंट्रल में उपलब्ध हैं । लिंक यहां दिया गया है:

Oracle JDBC ड्राइवर - मावेन सेंट्रल

ओरेकल डेवलपर्स लेख मावेन सेंट्रल में ओरेकल JDBC ड्राइवरों की उपलब्धता की घोषणा:

Oracle उद्घोषणा - Maven Central में उपलब्ध Oracle JDBC ड्राइवर

उदाहरण:

<!-- https://mvnrepository.com/artifact/com.oracle.jdbc/ojdbc10 -->
<dependency>
   <groupId>com.oracle.database.jdbc</groupId>
   <artifactId>ojdbc10</artifactId>
   <version>19.3.0.0</version>
</dependency>

3

सबके लिए अच्छी खबर है! अंत में हम Oracle के आधिकारिक रेपो का उपयोग कर सकते हैं: https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-without-ides


4
अच्छी खबर है, लेकिन सुरक्षा सेटिंग्स बहुत जटिल हैं। JAR को "lib" फोल्डर में डाउनलोड करना आसान है जैसे हमने 1999 में किया था।
श्वेतलिन नाकोव

यह काम करता हैं! सुरक्षा सेटअप इतना जटिल नहीं है और यह अच्छी तरह से प्रलेखित है, आपको इसे केवल एक बार करना होगा। निश्चित रूप से यह तथ्य कि आपको अपना (एन्क्रिप्टेड) ​​पासवर्ड हार्डकोड करना है कहीं न कहीं दर्द होता है, मैं भी ओरेकल के निर्णय को "सार्वजनिक" रिपॉजिटरी तक पहुंच की "रक्षा" करने का प्रश्न करता हूं, यह डेवलपर दृष्टिकोण से कड़ाई से कोई मतलब नहीं रखता है।
पियरलिगी वर्नेट्टो

2

कुछ ओरेकल उत्पाद एक स्थानीय भंडार में मावेन कलाकृतियों को प्रकाशित करने का समर्थन करते हैं। उत्पादों में एक प्लगइन / मावेन निर्देशिका होती है जिसमें उन कलाकृतियों को खोजने और उन्हें संग्रहीत करने के लिए विवरण शामिल हैं। ओरेकल से एक प्लगइन है जो वास्तव में अपलोड करेगा।

देखें: http://docs.oracle.com/middleware/1212/core/MAVEN/config_maven.htm

उत्पादों में से एक जो ओजेडीबीसी को इस तरह से शिप कर सकता है वह है डब्ल्यूएलएस, हालांकि यह काफी अजीब निर्देशांक का उपयोग करता है:

<groupId>com.oracle.weblogic</groupId>
<artifactId>ojdbc6</artifactId>
<version>12.1.2-0-0</version>

... और इसके बाद रेपो सार्वजनिक भी उपलब्ध है: blogs.oracle.com/WebLogicServer/entry/…
eckes

1

मैं LGPLv2 के तहत ओपनसोर्स का उपयोग करता हूं और यहां तक ​​कि ओरेकल के साथ कई ईमेल वार्तालापों के बाद भी वे स्पष्ट नहीं थे कि क्या मुझे मेरे बाइनरी JDBC ड्राइवर को मेरे वितरण के साथ जहाज करने की अनुमति दी गई थी। यह मुद्दा कि क्या मेरा लाइसेंस उनके ओटीएन शर्तों के अनुकूल था, इसलिए उन्होंने सुझाव दिया कि मुझे ड्राइवर को जहाज करने की अनुमति नहीं है। संभवतः इस भाग से संबंधित है

(ख) अपने ग्राहकों के लिए आपके द्वारा विकसित किए गए अनुप्रयोगों के साथ कार्यक्रम वितरित करने के लिए, बशर्ते कि इस तरह का प्रत्येक लाइसेंसधारक लाइसेंस शर्तों से सहमत हो।

यहां तक ​​कि अगर आप अपने अनन्य / स्थानीय मावेन भंडार में ड्राइवर को कानूनी रूप से प्रकाशित करने का प्रबंधन करते हैं, तो उस कलाकृति पर आपको क्या करने की अनुमति है, इस पर अभी भी प्रतिबंध है। लगता है कि भले ही मैं पूरी तरह से ओटीएन लाइसेंस फ़ाइल के साथ अपने ड्राइवर को द्विआधारी रूप में जहाज करता हूं, मैं अभी भी इसका उपयोग नहीं कर सकता और अपने उपयोगकर्ताओं को मैन्युअल रूप से ओरेकल ड्राइवर डाउनलोड करने और अपने सॉफ़्टवेयर का उपयोग करने से पहले अपने पुस्तकालय पथ में ड्रॉप करना होगा।


0

एक रेपो है जो जार प्रदान करता है। एसबीटी में इसके समान एक रिज़ॉल्वर जोड़ें: " http://dist.codehaus.org/mule/d dependencies/ maven2" पर "oracle driver repo "

और एक निर्भरता: "oracle"% "ojdbc14"% "10.2.0.2"

आप मावेन के साथ भी ऐसा कर सकते हैं। pom.xml और जार उपलब्ध हैं ( http://dist.codehaus.org/mule/d dependencies/maven2/oracle/ojdbc14/10.2.0.2/ )।


सावधान रहें क्योंकि यह pom http://dist.codehaus.org/mule/d dependencies/maven2/oracle/ojdbc14/10.2.0.2/ ojdbc14-10.2.0.2.pom की कोई लाइसेंस परिभाषा नहीं है, इसलिए मुझे नहीं लगता कि इसे अपलोड किया गया था। कलाकृतियों के मालिक द्वारा। यह उत्तर चीजों को काम करता है, लेकिन दुर्भाग्य से, इस लाइसेंस अवधि के उल्लंघन के कारण आपको परेशानी में डाल देता है ।
तारिंगमबेरिनी

Downvoter, तुम मुझ पर या Oracle में पागल हो? :) कृपया अपने downvote की व्याख्या करें ताकि अन्य उपयोगकर्ताओं को पता चले कि इस उत्तर में क्या समस्या है।
y --s .la

0

यदि आप नेटबीन्स, गोटो डिपेंडेंसीज का उपयोग कर रहे हैं और मैन्युअल रूप से कलाकृतियों को स्थापित करते हैं। अपनी डाउनलोड की गई .jar फ़ाइल और उसके किए गए का पता लगाएँ। क्लीन बिल्ड किसी भी मुद्दे को हल करेगा।


0

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

आप अपने निरंतर एकीकरण के लिए सभी अन्वेषण पा सकते हैं + एक नमूना और ट्रैविस-सीआई पर चला सकते हैं।

डेमो


1
किसी समाधान का लिंक स्वागत योग्य है, लेकिन कृपया सुनिश्चित करें कि आपका उत्तर इसके बिना उपयोगी है: लिंक के चारों ओर संदर्भ जोड़ें ताकि आपके साथी उपयोगकर्ताओं को कुछ पता चले कि यह क्या है और यह क्यों है, तो आप जिस पृष्ठ का सबसे प्रासंगिक हिस्सा उद्धृत करते हैं ' लक्ष्य पृष्ठ अनुपलब्ध होने की स्थिति में पुनः लिंक करना। ऐसे लिंक जो किसी लिंक से बहुत कम हैं उन्हें हटाया जा सकता है।
शमूएल एलवाई

1
आपका प्रोफ़ाइल इंगित करता है कि आप उस वेबसाइट से जुड़े हैं जिससे आपने लिंक किया है। बिना किसी चीज़ के लिंक के (जैसे कोई उत्पाद या वेबसाइट) आपके साथ जुड़े बिना, यह बताना कि आपका स्टैक एक्सचेंज / स्टैक ओवरफ़्लो पर स्पैम माना जाता है। देखें: क्या "अच्छा" आत्म प्रचार को दर्शाता है? , आत्म-प्रचार के बारे में कुछ सुझाव और सलाह , स्टैक ओवरफ्लो के लिए "स्पैम" की सटीक परिभाषा क्या है? , और क्या कुछ स्पैम बनाता है
शमूएल एलवाई

0

निर्भरता के लिए

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.2</version>
</dependency>

प्रयत्न

<repository>
    <id>mvnrepository</id>
    <url>http://nexus.saas.hand-china.com/content/repositories/rdc</url>
</repository>

0

मेरे मामले में यह मेरे लिए इस वर्जन डिपेंडेंसी (10.2.0.4) से नीचे जोड़ने के बाद काम करता है। इस संस्करण को जोड़ने के बाद 10.2.0.3.0 यह .jar फ़ाइल रिपोजिटरी पथ में उपलब्ध नहीं होने के कारण काम नहीं करता है।

<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.4</version>

0

कृपया नीचे प्रयास करें:

<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>19.3.0.0</version>
</dependency>

0

इसने मेरे लिए आकर्षण की तरह काम किया। मैं कई तरीकों से गुजरा लेकिन फिर इससे मुझे मदद मिली। सुनिश्चित करें कि आप प्रत्येक चरण का अनुसरण करते हैं और XML फ़ाइलों को ठीक उसी नाम देते हैं

https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-without-ides

प्रक्रिया थोड़ी थकाऊ है लेकिन हां यह काम करता है।


-3

हल किया

  • कृपया त्रुटि को हल करने के लिए निम्न सेटिंग्स करें

इस रिपॉजिटरी को Oracle 10.0.3.0 आश्रितों को खोजने के लिए सक्षम करने की आवश्यकता है (यह सेटिंग Buildconfig.groovy grails.project.dependency.resolver = "ivy" // या ivy में करने की आवश्यकता है

साथ ही संकलन समय Oracle ड्राइवर डाउनलोड के लिए निम्नलिखित सेटिंग का उपयोग करें

रनटाइम "com.oracle :ojdbc:10.2.0.3.0"

यह आपके अनुप्रयोग को समस्या के समाधान के लिए Oracle ड्राइवर नहीं खोजने के लिए हल करना चाहिए


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.