मैं मम को यम के साथ कैसे स्थापित करूं?


135

मैं याम या मावेन के बारे में ज्यादा नहीं जानने की कोशिश कर रहा हूं । मुझे यह कोड विरासत में मिला है और मैं इस वातावरण में जितना समय बिताता हूं उससे अधिक समय नहीं बिताना चाहता।

मुझे यम मिल गया है। मेरी स्थापना में "" ("संलग्न है भी"? "के बारे में जानता है?") दो रिपोज: अमेज़ॅन एक और जेपीकेज, जो मुझे समझ में आता है कि यह एक मानक है। (वास्तव में, उन रिपॉजिटरी में से प्रत्येक में दो उप-रिपॉजिटरी शामिल हैं, लेकिन मुझे नहीं लगता कि यह समस्या पैदा कर रहा है।)

जब मैंने yum से maven2 को स्थापित करने के लिए कहा, तो उसने यह कहते हुए मना कर दिया कि उसने maven2 के बारे में कभी नहीं सुना।

जब मैंने yum से Amazon की अनदेखी maven2 स्थापित करने के लिए कहा , तो वह ऐसा करता है, लेकिन यह मावेन 2.0.9 स्थापित करता है, जो काफी पुराना है। वास्तविक pom.xml मैं एक उच्च संस्करण की आवश्यकता है।

जब मैं मावेन रिपॉजिटरी के लिए गूगल करता हूं तो मुझे रिपॉजिटरी मिलती है जिसका इस्तेमाल मावेन अन्य चीजों को बनाने के लिए कर सकते हैं, रिपॉजिटरी के लिए नहीं जो यम मावेन को स्थापित करने के लिए उपयोग कर सकते हैं। (मुझे एक रिपॉजिटरी वाली चीज़ मिली, जिसने मावेन को यम का निर्माण करने दिया। मुझे लगता है कि Google इस बिंदु पर मेरा मज़ाक उड़ा रहा है।)

तो, मुझे जरूरत है कि रेपो फ़ाइल एक रेपो की ओर इशारा करती है जिसमें मावेन 2.2.1 स्थापित करने की आवश्यकता है।

अगर यह इन सभी श्रम-बचत उपकरणों के लिए नहीं थे, तो मैं शायद कुछ काम कर सकता था।

जवाबों:


215

इकारस ने मेरे लिए एक समान प्रश्न का उत्तर दिया। इसके "यम" का उपयोग नहीं किया जा रहा है, लेकिन फिर भी आपको अपने उद्देश्यों के लिए काम करना चाहिए। प्रयत्न,

wget http://mirror.olnevhost.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz

मूल रूप से सिर्फ मावेन साइट पर जाएं । आप चाहते हैं मावेन का संस्करण खोजें। फ़ाइल प्रकार और ऊपर दिए गए wget स्टेटमेंट के लिए दर्पण का उपयोग करें।

बाद में प्रक्रिया आसान है

  1. डाइव से कमांड को चलाएं जिसे आप मावेन भी निकालना चाहते हैं।
  2. टार निकालने के लिए निम्नलिखित भागें,

    tar xvf apache-maven-3.0.5-bin.tar.gz
  3. मावेन को / usr / स्थानीय / अपाचे-मावेन पर ले जाएं

    mv apache-maven-3.0.5  /usr/local/apache-maven
  4. इसके बाद env वैरिएबल को अपनी ~ / .bashrc फ़ाइल में जोड़ें

    export M2_HOME=/usr/local/apache-maven
    export M2=$M2_HOME/bin 
    export PATH=$M2:$PATH
  5. इन आदेशों का पालन करें

    source ~ / .bashrc

6 :. सत्यापित करें कि सब कुछ निम्नलिखित कमांड के साथ काम कर रहा है

    mvn -version

1
धन्यवाद! सबसे अच्छा मावेन जो मुझे मिल सकता jpackageथा, maven.noarchtbdजो था v1.1या maven2जो था v2.0.4... आपके वैकल्पिक निर्देशों ने मुझे
वीवी

53
ये निर्देश काम करते हैं। लेकिन क्यों ओह, वे सभी अन्य पैकेजों के साथ पैकेज रिपॉजिटरी में सिर्फ मैवेन क्यों नहीं डाल सकते हैं ताकि लोगों को इन हुप्स के माध्यम से कूदना न पड़े?
6

3
@ कैरोल शायद इसलिए कि मावेन अनाथे पर विचार करते हैं
जोसेफ वासना

1
जिस रास्ते से आप गुजरते हैं, उसे बस maven.apache.org/download.cgiwget से बदल दें
अली

@ क्या अपाचे दर्पण डोमेन नाम के बजाय अपने डोमेन नाम का उपयोग करने का एक तरीका प्रदान करता है?
BLong

115

आप इस तरह yum पुस्तकालयों में मावेन जोड़ सकते हैं:

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

अब आप इस तरह मावेन स्थापित कर सकते हैं :

yum install apache-maven

एक बार करने के बाद, मावेन 3 स्थापित किया जाएगा और mvn -version आपको दिखाएगा कि आपको कौन सा संस्करण मिला है - मेरे पास 3.2.1 था।

यह एक अपवाद के साथ CentOS 6 पर मेरे लिए पूरी तरह से काम करता है। इसने OpenJDK 1.6 को स्थापित किया और इसे डिफ़ॉल्ट जावा संस्करण बनाया, भले ही मैंने मैन्युअल रूप से JDK 8 स्थापित किया था (संभवतः इसलिए कि मैं मैन्युअल रूप से स्थापित किया गया था)। इसे वापस उपयोग में बदलने के लिए alternatives:

alternatives --config java
alternatives --config javac

और सही संस्करण चुनें।


8
जैसा कि इस फ़ोरम में बताया गया है , epel-$releaseverडाउनलोड की गई .repoफ़ाइल के साथ बदलने की ज़रूरत है epel-6, वरना yum install apache-mavenत्रुटि 404 के साथ विफल हो जाएगी।
या मैपर

यहां तक ​​कि epel-6 के साथ epel- $ रिलीवर को बदलने में 404 के साथ विफल रहता है: repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/i386/… : [[Err 14] PYCURL ERROR 22 - "अनुरोधित URL ने त्रुटि लौटा दी : 404 नहीं मिला "
lrkwz

1
इस दृष्टिकोण के साथ एक विशिष्ट (जैसे 3.0.1) संस्करण स्थापित करना संभव है?
bsferreira

मैं इसे /etc/yum.repos.d/epel-apache-maven.repoरेपो फ़ाइल में इस प्रविष्टि के साथ ठीक काम करने में सक्षम था :baseurl=https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/$basearch/
i_grok

alternatives --config java
वाइकिंगस्टीवेट

61

भविष्य के संदर्भ के लिए और वहाँ बाहर आलसी लोगों के लिए सादगी के लिए, जो बहुत स्पष्टीकरण नहीं चाहते हैं, लेकिन बस चीजों को चलाते हैं और इसे काम करते हैं:

1) sudo wget https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

2) sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

3) sudo yum install -y apache-maven

4) mvn --version

आशा है कि आपको यह कॉपी और पेस्ट सेशन पसंद आया होगा।


यह लग रहा था कि यह पूरी तरह से काम करेगा सिवाय इस त्रुटि के: repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/x86_64/… : [[Errno 14] HTTO त्रुटि 404 - नहीं मिली तो पता नहीं रेपो अस्थायी रूप से नीचे या स्थायी रूप से नीचे होता है।
आनन

2
@advocate मैंने अभी एक और सर्वर उदाहरण बनाया है और सटीक कमांड चलाए हैं जैसा कि वर्णित है और एक आकर्षण की तरह काम करता है। देर से जवाब के लिए खेद है, लेकिन लगता है कि यह अभी भी काम कर रहा है। खुश होती है।
अलेजांद्रो पाब्लो तकाचुक

आप प्रतीक को हार्डकोड संस्करण के साथ क्यों बदलेंगे?
केट

1
मुझे लगता है कि @ केट का मतलब है $releasever
ᴠɪɴᴄᴇɴᴛ

3
यह मेरे लिए चरण 2 के बिना काम करता है, लेकिन यह isntall jdk 1.7 को चाहता है, हालांकि मेरे पास पहले से ही एक 1.8 स्थापित है
एडम

18
yum install -y yum-utils

yum-config-manager --add-repo http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo

yum-config-manager --enable epel-apache-maven

yum install -y apache-maven

जेवीएम डेवलपर के लिए, यह आपके लिए आवश्यक सभी टूल के लिए एसडीके प्रबंधक है।

https://sdkman.io/

Sdkman स्थापित करें:

yum install -y zip unzip

curl -s "https://get.sdkman.io" | bash

source "$HOME/.sdkman/bin/sdkman-init.sh"

मावेन स्थापित करें:

sdk install maven

12

मैंने हाल ही में fpm नामक एक आसान पैकेजिंग टूल के बारे में सीखा है । इस सवाल पर लड़खड़ाते हुए मैंने सोचा कि मैं इसे आजमा सकता हूं। @ ऑरवेलहिंडेनबर्ग के उत्तर को पढ़ने के बाद, यह आरपीएम में fpm के साथ मावेन को पैकेज करना आसान है।

yum install -y gcc make rpm-build ruby-devel rubygems
gem install fpm

एक परियोजना निर्देशिका बनाएं और पैकेज की निर्देशिका संरचना को लेआउट करें

mkdir maven-build
cd maven-build
mkdir -p etc/profile.d opt

एक फ़ाइल बनाएं जिसे हम इंस्टॉल करेंगे /etc/profile.d/maven.sh, हम इसे नए बनाए गए आदि / प्रोफाइल ..d निर्देशिका के तहत maven.sh के रूप में संग्रहीत करेंगे , निम्न सामग्री के साथ

export M3_HOME=/opt/apache-maven-3.1.0
export M3=$M3_HOME/bin
export PATH=$M3:$PATH

डाउनलोड और नवीनतम मावेन को ऑप्ट डायरेक्टरी में अनपैक करें

wget http://www.eng.lsu.edu/mirrors/apache/maven/maven-3/3.1.0/binaries/apache-maven-3.1.0-bin.tar.gz
tar -xzf apache-maven-3.1.0-bin.tar.gz -C opt

अंत में, RPM का निर्माण करें

fpm -n maven-3.1.0 -s dir -t rpm etc opt

अब आप rpm के माध्यम से मावेन स्थापित कर सकते हैं

$ rpm -Uvh maven-3.1.0-1.0-1.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:maven-3.1.0            ########################################### [100%]

और वियोला

$ which mvn
/opt/apache-maven-3.1.0/bin/mvn

काफी यम लेकिन घर के करीब नहीं ;)


मैं अपने उद्देश्यों के लिए maven 3 के साथ गया था, लेकिन maven v2 को पैकेज करना जितना आसान था।
क्विकशिफ्टिन

एक अन्य ध्यान दें, आपको लेने के लिए /etc/profile.d/maven.sh स्क्रिप्ट पर लॉगआउट / लॉगिन करना होगा।
क्विकशिफ्टिन

1
अच्छा समाधान, धन्यवाद। Btw। आप टाइप भी कर सकते हैं exec bash(यह मानते हुए कि आप बैश का उपयोग कर रहे हैं)।
एडम सिमियन

9

उन लोगों के लिए जो 2018 में मावेन को स्थापित करने का तरीका ढूंढ रहे हैं:

$ sudo yum install maven

इन दिनों समर्थित है।


अमेज़ॅन लिनक्स 2 (मार्च 2019) पर मेरे लिए काम करता है।
चाचा

4

क्या आपको इसे यम के साथ स्थापित करने की आवश्यकता है? अन्य बहुत संभावनाएं हैं:

  • बाइनरी को http://maven.apache.org/download.html से पकड़ो और इसे अपने / usr / bn में डालें
  • यदि आप ग्रहण का उपयोग कर रहे हैं तो आप m2eclipse प्लगइन (http://m2eclipse.sonatype.org/) प्राप्त कर सकते हैं जो मावेन के एक संस्करण को बंडल करता है।

1
हाँ, मैं ऐसा करने जा रहा हूँ कि अगले 15 मिनट में अगर मैं बेहतर तरीके से पता नहीं लगा सकता हूँ। मेरे संकोच का कारण यह है कि यम वास्तव में एक अच्छा उत्पाद है यदि यह सब कुछ स्थापित होने के बारे में जानता है । नहीं तो इतना नहीं। मुझे यकीन है कि मावेन भी एक अच्छा उत्पाद है, मुझे कुछ ऐसा करने की ज़रूरत नहीं है, जो लाइब्रेरी संस्करणों को अद्यतित रखे। सिस्टम मैं इसे बिल्ड सिस्टम के रूप में उपयोग करने के लिए ट्रेंड कर रहा हूं, यह एक कार्य है जो शेल स्क्रिप्ट की तुलना में थोड़ा बेहतर है और मेक के रूप में लगभग एक तिहाई अच्छा है, लगभग 1989।
मालवोलियो

ठीक है, अगर उन्होंने jPackage रिपॉजिटरी में संस्करण 2.0.7 तक केवल maven2 को बनाए रखा है, तो आप या तो उस संस्करण से निपट सकते हैं, हाथ से स्थापित कर सकते हैं या आप maven.apache.org पर स्रोतों से RPM बना सकते हैं और इसे yum के साथ स्थापित कर सकते हैं । लेकिन आपने पहले ही कहा था कि आप इसके साथ और अधिक समय नहीं बिताना चाहते हैं, इसलिए मुझे लगता है कि विकल्प 1 आपकी स्थिति के लिए सबसे उपयुक्त होगा
klaustopher

2
प्रश्न इसे यम के साथ स्थापित करने के बारे में है।
रोबरमोरेल्स

7
ये दोनों जवाब सवाल का जवाब नहीं देते। असली उत्तर उपलब्ध कुछ yum रेपो के बारे में होना चाहिए जिसमें maven3 (नवीनतम स्थिर?) पैकेज शामिल हैं।
जेम्स मिल्स

1
/usr/bnया /usr/bin? अन्य निर्देशिकाओं के बारे में क्या /usr/local?
अब्दुल

3

मावेन 2014 के मध्य से फेडोरा के लिए पैक किया जाता है, इसलिए यह अब बहुत आसान है। बस टाइप करो

sudo dnf install maven

अब इंस्टॉलेशन का परीक्षण करें, बस रैंडम डायरेक्टरी में मावेन को चलाएं

mvn

और यह विफल हो जाएगा, क्योंकि आपने एक लक्ष्य निर्दिष्ट नहीं किया था, उदाहरण के लिए mvn package

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.102 s
[INFO] Finished at: 2017-11-14T13:45:00+01:00
[INFO] Final Memory: 8M/176M
[INFO] ------------------------------------------------------------------------
[ERROR] No goals have been specified for this build

[...]

2
एक मूर्खतापूर्ण गोटा है कि mavenmvn
मावेन

3

यह वही है जो मैंने अमेज़ॅन / एडब्ल्यूएस ईएमआर वी 5 पर देखा था। (पिछले उत्तरों से अनुकूलित), मावेन और जावा 8 के लिए

sudo wget https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
sudo yum install -y apache-maven
sudo alternatives --config java

Java8 चुनें

sudo alternatives --config javac

Java8 चुनें

अब, यदि आप चलाते हैं:

mvn -version

आपको मिलना चाहिये:

Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/share/apache-maven
Java version: 1.8.0_171, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.38.amzn1.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.14.47-56.37.amzn1.x86_64", arch: "amd64", family: “unix"

1
खैर, पोस्ट करने के लिए धन्यवाद। जिस कंपनी को इसकी ज़रूरत थी, वह 2012 में कारोबार से बाहर हो गई, लेकिन मैंने साल में दो बार संस्थापकों के साथ ड्रिंक की है, इसलिए मैंने आपकी मदद का उल्लेख किया है। :-)
मालवोलियो

@ मल्वालियो - लोल और सॉरी (आप अभी भी मेरे समाधान को
आगे बढ़ा

1
कंपनी का पतन एक परिणाम था - और मैं इसे काफी गर्व के साथ कहता हूं, क्योंकि उनके एकमात्र तकनीकी कर्मचारी - पूरी तरह से विपणन की समस्याएं, और तकनीकी बुनियादी ढांचे ने काम किया और साथ ही उम्मीद की जा सकती थी।
मालवोलियो

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