मावेन निर्भरता को हल नहीं कर सकते थे, कलाकृतियों को हल नहीं किया जा सकता था


132

यह मेरे दोस्त से काम करने वाला प्रोजेक्ट माना जाता है। उसने मेरे सामने परियोजना का प्रदर्शन किया, और फिर मैंने परियोजना की प्रतिलिपि बनाई, इसे एक मौजूदा मावेन परियोजना के रूप में आयात किया (मैं m2eclipseप्लगइन का उपयोग कर रहा हूं )।

और फिर, यह त्रुटि तब होती है। हर बार जब मैं मावेन के साथ कुछ बनाने की कोशिश करता हूं तो यह त्रुटि फिर से पैदा हो सकती है।

मवन निर्भरता करना: पेड़, निर्भरता: सूची, या सामान्य बिल्ड पैकेज, एक ही त्रुटि के परिणामस्वरूप होगा।

ग्रहण से 'पैकेज' निर्माण को चलाने में त्रुटि है:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Jackpot Portal Webapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet:jar:2.5.0 is missing, no dependency information available
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0 is missing, no dependency information available
[WARNING] The POM for javax.transaction:com.springsource.javax.transaction:jar:1.1.0 is missing, no dependency information available
[WARNING] The POM for org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.963s
[INFO] Finished at: Tue Jan 11 01:55:41 WIT 2011
[INFO] Final Memory: 2M/56M
[INFO] ------------------------------------------------------------------------

[ERROR] Failed to execute goal on project jackpot: Could not resolve dependencies 
for project com.jeteo:jackpot:war:1.0-SNAPSHOT: The following artifacts could 
not be resolved: javax.servlet:com.springsource.javax.servlet:jar:2.5.0,
javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0, 
javax.transaction:com.springsource.javax.transaction:jar:1.1.0, 
org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6: Failure to find 
javax.servlet:com.springsource.javax.servlet:jar:2.5.0 in 
http://repository.springsource.com/maven/bundles/release was cached in the 
local repository, resolution will not be reattempted until the update 
interval of com.springsource.repository.bundles.release has elapsed or 
updates are forced -> [Help 1]

[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

और यहाँ की सामग्री है pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.jeteo</groupId>
    <artifactId>jackpot</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>Jackpot Portal Webapp</name>
    <url>http://www.jeteo.com</url>
    <properties>
        <java-version>1.6</java-version>
        <org.springframework-version>3.0.3.RELEASE</org.springframework-version>
        <org.hibernate-version>3.6.0.Final</org.hibernate-version>
        <org.aspectj-version>1.6.9</org.aspectj-version>
        <org.slf4j-version>1.5.10</org.slf4j-version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.sf.jt400</groupId>
            <artifactId>jt400</artifactId>
            <version>6.6</version>
            <scope>compile</scope>
        </dependency>

        <!-- Hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${org.hibernate-version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${org.hibernate-version}</version>
            <scope>compile</scope>
        </dependency>

        <!-- AspectJ -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${org.aspectj-version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${org.aspectj-version}</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>com.springsource.javax.servlet</artifactId>
            <version>2.5.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>com.springsource.javax.servlet.jsp.jstl</artifactId>
            <version>1.2.0</version>
            <scope>provided</scope>
        </dependency>
        <!--
        <dependency>
         <groupId>javax.persistence</groupId>
         <artifactId>com.springsource.javax.persistence</artifactId>
         <version>1.0.0</version>
         <scope>compile</scope>
        </dependency>
        -->
        <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>com.springsource.javax.transaction</artifactId>
            <version>1.1.0</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.5.6</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>com.springsource.slf4j.log4j</artifactId>
            <version>1.5.6</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.11</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>

    </dependencies>
    <repositories>
        <!-- Spring releases -->
        <repository>
            <id>com.springsource.repository.bundles.release</id>
            <name>Spring Maven Repository Repository</name>
            <url>http://repository.springsource.com/maven/bundles/release</url>
        </repository>
        <!-- For hibernate 3.6 support -->
        <repository>
            <id>jboss</id>
            <url>https://repository.jboss.org/nexus/content/groups/public/</url>
        </repository>
    </repositories>
    <build>
        <finalName>jackpot</finalName>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.1</version>
                <configuration>
                    <url>http://localhost:8080/manager</url>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

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

मैं क्या खो रहा हूँ?


सिस्टम वेरिएबल में अपना रास्ता देखें। मेरे मामले में उपयोगकर्ता वेरिएबल में maven 3 के लिए रास्ता सही था, लेकिन सिस्टम वेरिएबल में maven 2 का रास्ता बदलने के बाद यह ठीक काम कर रहा था। कोई विचार नहीं है
aastha

जवाबों:


91

लगता है जैसे आपको कुछ मावेन रेपो याद आ रहे हैं। अपने दोस्त के लिए पूछें .m2/settings.xml, और आप शायद वहां के रिपॉजिटरी को शामिल करने के लिए POM को अपडेट करना चाहते हैं।

--edit: कुछ त्वरित googling के बाद, इसे अपने POM में जोड़ने का प्रयास करें:

<repository>
    <id>com.springsource.repository.bundles.release</id>
    <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
    <url>http://repository.springsource.com/maven/bundles/release</url>
</repository>
<repository>
    <id>com.springsource.repository.bundles.external</id>
    <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
    <url>http://repository.springsource.com/maven/bundles/external</url>
</repository>

5
धन्यवाद ! मेरे दोस्त ने उल्लेख किया कि यह उसके लैपटॉप में काम करता था क्योंकि उसे पहले से ही .m2 / maven पर निर्भरताएं मिली थीं और अब उन्हें डाउनलोड करने की कोशिश नहीं करता। और उन्होंने रिपॉजिटरी प्रविष्टियों को साझा किया, कुछ आपकी खोज की तरह हैं, और अब यह ठीक काम कर रहा है .. आपके समय के लिए धन्यवाद! और अगर मैं जान सकता हूं, तो आप यह पता लगाने के लिए कि कौन से कीवर्ड का उपयोग करते हैं? मैंने कल भी गुग्लिंग की कोशिश की, लेकिन मैं दुखी हो गया। हाहा
बर्टी

6
मुझे पता था कि यह "POM for xxx गायब है" चेतावनी संदेशों के कारण एक रिपॉजिटरी समस्या थी। तो मैंने बस "स्प्रिंग्ससोर्स मावेन" पर खोज की और स्प्रिंग्ससोर्स प्रोजेक्ट एफएक्यू के साथ आया, और मावेन के साथ काम करने के लिए इसे स्थापित करने के लिए इसकी प्रविष्टि।
wmorrell

उनकी पहली विरूपण साक्ष्य त्रुटि एक प्रदान की गई com.springsource.javax.servlet है। यदि यह प्रदान किया जाता है तो इसकी सेटिंग के साथ कुछ भी क्यों होगा। xml?
फिलिप रेगो

@PhilipRego .m2/settings.xmlमें मानक लोगों के बाहर रिपॉजिटरी लिस्टिंग निर्दिष्ट कर सकते हैं repo.maven.apache.org। इस मामले में, JAR एक स्प्रिंगसोर्स रिपॉजिटरी से आ रहे हैं और मावेन सेंट्रल पर नहीं हैं। मैंने यह मान लिया था कि मित्र के पास स्प्रिंगस्पोर्स रेपो थे जो स्थानीय में सूचीबद्ध थे .m2/settings.xml, जिससे कोई लुकअप त्रुटि नहीं हुई क्योंकि कलाकृतियों को वैकल्पिक मावेन रेपो में मिलेगा। इसके बजाय, JAR को कैश किया गया था, और कोई भी लुकअप नहीं हुआ था।
wmorrell

1
@PhilipRego ये निर्भरताएँ प्रदान के रूप में चिह्नित नहीं हैं। भले ही निर्भरता प्रदान की जाती है, कोड को संकलित करने के लिए इंटरफ़ेस परिभाषाएं आवश्यक हैं; इसका मतलब है कि आपके पास उपयोग की जाने वाली इंटरफेस को परिभाषित करने वाली JAR फाइलें होनी चाहिए। एक निर्भरता के लिए इसका मतलब है कि सभी JAR आपके कोड के साथ पैक नहीं किए गए हैं।
wmorrell

15

मावेन ने आपकी फ़ाइलों को कैश पर रखा, और उन्हें डाउनलोड करने के लिए पुन: प्रयास न करें। आप केवल .m2 डायरेक्टरी को हटाकर उसे मैन्युअल रूप से 'मदद' कर सकते हैं, और फिर हमारा मित्र पुराने डिपेंडेंसी पर सबकुछ डाउनलोड कर देगा।


7

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


7

artifactIdसभी निर्भरता कि डाउनलोड करने में विफल के लिए सही नहीं हैं - किसी कारण वे उपसर्ग लगा होता है com.springsource। कट / पेस्ट मुद्दा?

आप उन्हें निम्नानुसार बदलने का प्रयास कर सकते हैं।

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>jta</artifactId>
    <version>1.1.0</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.5.6</version>
</dependency>

आप निर्दिष्ट कलाकृतियों में उपलब्ध नहीं होने की स्थिति में इन कलाकृतियों के लिए मावेन केंद्रीय भंडार जोड़ना चाह सकते हैं।

<repository>
    <id>maven2</id>
    <url>http://repo1.maven.org/maven2</url>
</repository>

मैंने कोशिश की, और अभी भी गलत है? यहां पैकेज कार्य करने के बाद ग्रहण से आंशिक उत्पादन होता है: प्रोजेक्ट जैकपॉट पर लक्ष्य को निष्पादित करने में विफल: प्रोजेक्ट com.jeteo: जैकपॉट: युद्ध: 1.0-SNAPSHOT के लिए निर्भरता को हल नहीं कर सका: निम्न कलाकृतियों को हल नहीं किया जा सका: javax.servlet: सर्वलेट-एपि: जार: २.५.०, जेवैक्स.सर्वलेट: जेस्टल: जार: १.२.०, जेवाक्स.ट्रांसक्शन: जटा: जार: १.१.०: जेवैक्स.सेर्वलेट खोजने में विफलता: सर्वलेट-एपी: जार: २.५.० में repository.springsource.com/maven/bundles/release स्थानीय भंडार में कैश किया गया था, संकल्प <cutted> का अद्यतन अंतराल तक reattempted नहीं की जाएगी ....
बर्टी

@ अल्बर्ट काम लापता कलाकृतियों के लिए मावेन केंद्रीय भंडार के संदर्भ को शामिल करने के लिए अद्यतन उत्तर
रघुराम

com.springsource उपसर्ग का अर्थ है कि कलाकृतियां वसंत उद्यम भंडार से आ रही हैं
eis

5

जार को मैन्युअल रूप से डाउनलोड करें और फिर उस फोल्डर से कमांड निष्पादित करें जहां जार सेव है:

mvn install:install-file -Dfile=*jar_file_name*.jar-DgroupId=*group_id* -DartifactId=*artifact_id* -Dversion=*version_no* -Dpackaging=jar

jar file, jar_file_name, group_id, artifact_idऔर version_nomaven भंडार पेज से उपलब्ध हैं।


4

मुझे इसी तरह की समस्या हुई है और मैंने अपने pom.xml में नीचे के रिपोज को जोड़कर इसे ठीक किया है:

<repository>
    <id>org.springframework.maven.release</id>
    <name>Spring Maven Release Repository</name>
    <url>http://repo.springsource.org/libs-release-local</url>
    <releases><enabled>true</enabled></releases>
    <snapshots><enabled>false</enabled></snapshots>
</repository>
<!-- For testing against latest Spring snapshots -->
<repository>
    <id>org.springframework.maven.snapshot</id>
    <name>Spring Maven Snapshot Repository</name>
    <url>http://repo.springsource.org/libs-snapshot-local</url>
    <releases><enabled>false</enabled></releases>
    <snapshots><enabled>true</enabled></snapshots>
</repository>
<!-- For developing against latest Spring milestones -->
<repository>
    <id>org.springframework.maven.milestone</id>
    <name>Spring Maven Milestone Repository</name>
    <url>http://repo.springsource.org/libs-milestone-local</url>
    <snapshots><enabled>false</enabled></snapshots>
</repository>

4
mvn clean install -U

मेरी समस्या का समाधान किया। चूंकि रेपो को कैश किया गया था, इसलिए मुझे नवीनतम संस्करण प्राप्त करने के लिए मजबूर करने की आवश्यकता थी।


1

मुझे एक समान संदेश मिला है और मेरी समस्या मेरी सेटिंग्स में कुछ प्रॉक्सी प्राथमिकताएं थीं। एक्सएमएल। इसलिए मैंने उन्हें निष्क्रिय कर दिया और सब कुछ ठीक चल रहा है।


1

इस तरह की समस्याएं दो कारणों से होती हैं:

  1. एक निर्भरता का मंत्र गलत है
  2. mvan सेटिंग का विन्यास (यानी। ~ / .m2 / settings.xml) गलत है

यदि अधिकांश निर्भरताएं डाउनलोड की जा सकती हैं, तो कारण 1 सबसे संभावित बग हो सकता है। इसके विपरीत, यदि अधिकांश निर्भरता की समस्या है, तो यू को सेटिंग्स पर ध्यान देना चाहिए । xml

खैर, मैंने पूरी दोपहर अपनी समस्या को ठीक करने की कोशिश की, और आखिरकार मुझे मिल गया। मेरी समस्या settings.xml में होती है, न कि सेटिंग्स की गलत या गलत वर्तनी । xml , लेकिन सक्रिय पॉलीफिल्स के खोने पर ।


0

मुझे यह समस्या थी। मेरे मामले में यह IntelliJ Idea के कारण pom.xml फ़ाइलों में से कुछ के साथ खिलवाड़ कर रहा था (जो इसे करने का आनंद लेने के लिए!)। मैं बस मूल प्रति पर वापस लौट आया और चीजें फिर से काम कीं!


0

मुझे भी यह समस्या थी, यह पता चला कि नेटबियंस ने मेरी pom.xml फ़ाइल में कुछ जोड़ा था। पिछली सफल तैनाती के बाद से डबल चेक कुछ भी नहीं जोड़ा गया था।


0

मेरे EAR प्रोजेक्ट में 2 मॉड्यूल * .ear और * .war थे और मुझे *.warकोशिश करने पर प्रोजेक्ट पर यह निर्भरता त्रुटि मिली mvn eclipse:eclipse*.warप्रोजेक्ट में utf-8 एन्कोडिंग समस्या को हल करके इसे हल किया । mvn -Xया -eविकल्प यहाँ मदद के नहीं थे।


0

मेरे कंप्यूटर पर फ़ायरवॉल के कारण ऐसा हुआ। इसे बंद करना मेरे लिए काम कर गया।


1
अपने कंप्यूटर पर फ़ायरवॉल बंद करते समय, आपके नेटवर्क सेटअप के आधार पर मैं काम कर सकता हूँ, मैं मावेन प्रक्रिया या मावेन सेंट्रल के लिए एक अपवाद जोड़कर और अधिक सुरक्षित समाधान खोजने की सलाह दूंगा ... एक ग़लतफ़हमी / बहुत सख्त फ़ायरवॉल सेटअप की तरह लगता है मुझे हालांकि
मकर

@ कैरीकोर्न सही, यह सबसे अच्छा नहीं है लेकिन मेरे लिए मैंने अनुशंसित सभी समाधानों की कोशिश की और यह इस पर ठीक काम करता है। अगर आपके पास कोई बेहतर उपाय है, तो कृपया मुझे बताएं, धन्यवाद !!! संपादित: आपने "मावेन प्रक्रिया या मावेन सेंट्रल के लिए एक अपवाद जोड़ने" का उल्लेख किया है, मुझे वास्तव में यह नहीं मिलता है, क्या आप इन्हें निर्दिष्ट कर सकते हैं ...
डुक थान

0

इस तरह के मुद्दे पर आ गए हैं। मूल कारण .m2 फ़ोल्डर है। आपको यह सुनिश्चित करना होगा कि आप जो भी एक्सेस करने का प्रयास कर रहे हैं वह आपके .m2 फ़ोल्डर में मौजूद है (यह आपका स्थानीय रेपो है)। अगर सामान है तो आप अच्छे हैं। यह आमतौर पर आपके सिस्टम पर मौजूद यूजर्स फोल्डर के अंदर मौजूद होता है (जैसे कि यह मैक / लिनक्स या यहां तक ​​कि विंडोज़)

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