Maven 종속성을 확인할 수 없습니다, 아티팩트를 해결할 수 없습니다


132

이것은 내 친구의 작업 프로젝트로되어 있습니다. 그는 내 앞에서 프로젝트를 시연 한 다음 프로젝트를 복사하여 기존 maven 프로젝트로 가져 왔습니다 ( m2eclipse플러그인을 사용하고 있습니다).

그런 다음이 오류가 발생합니다. 이 오류는 maven으로 무언가를 만들려고 할 때마다 재현 될 수 있습니다.

mvn dependency : tree, dependency : list 또는 일반적인 빌드 패키지를 사용하면 동일한 오류가 발생합니다.

이클립스에서 '패키지'빌드를 실행할 때의 오류는 다음과 같습니다.

[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을 다운로드하려고 시도했지만 Eclipse helios에 포함 시켰지만 여전히 동일한 문제입니다. 쉘 명령 줄 (일식 외부)에서 실행할 때도 동일한 오류 메시지가 발생합니다.

내가 무엇을 놓치고 있습니까?


variable.In 받는다는 3가 fine.no 생각을 일하는 사용자 변수에 있지만 시스템 변수에 받는다는 2의 경로를 변경 한 후 정확 내 경우 시스템의 경로를 경로를 볼 이유
aastha

답변:


91

Maven 저장소가 누락 된 것 같습니다. 친구에게 요청 .m2/settings.xml하면 리포지토리를 포함하도록 POM을 업데이트하고 싶을 것입니다.

-편집 : 빠른 인터넷 검색 후 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은 더 이상 다운로드하려고하지 않기 때문에 랩톱에서 작동한다고 언급했습니다. 그리고 그는 저장소 항목을 공유했으며 일부는 귀하의 발견과 같으며 이제는 잘 작동했습니다 .. 시간 내 주셔서 감사합니다! 그리고 내가 알 수 있다면, 어떤 리포지토리를 사용할 때 어떤 키워드를 사용합니까? 어제 인터넷 검색을 시도했지만 결국 비참했습니다. haha
bertie

6
"POM for xxx is missing"경고 메시지로 인해 리포지토리 문제라는 것을 알았습니다. 방금 "springsource maven"을 검색하여 springsource 프로젝트 FAQ와 Maven과 함께 작동하도록 설정하는 항목을 찾았습니다.
wmorrell 2018 년

그의 첫 번째 아티팩트 오류는 제공된 jar com.springsource.javax.servlet입니다. 제공된 경우 setting.xml과 관련이있는 이유는 무엇입니까?
Philip Rego

@PhilipRego .m2/settings.xml는에서 표준 목록 이외의 저장소 목록을 지정할 수 있습니다 repo.maven.apache.org. 이 경우 JAR은 SpringSource 저장소에서 제공되며 Maven Central에는 없습니다. 친구에게 SpringSource 저장소가 local에 나열되어 .m2/settings.xml있고 아티팩트가 대체 maven 저장소에서 발견되기 때문에 조회 오류가 발생하지 않는다고 가정했습니다 . 대신 JAR이 캐시되었으며 조회가 전혀 발생하지 않았습니다.
wmorrell

1
@PhilipRego 이러한 종속성은 제공된 것으로 표시되지 않습니다. 종속성이 제공 되더라도 코드를 컴파일하려면 인터페이스 정의가 필요합니다. 즉, 사용 된 인터페이스를 정의하는 JAR 파일이 있어야합니다. 제공된 종속성에 대한 의미는 JAR이 코드와 함께 패키지되어 있지 않다는 것입니다.
wmorrell 2014 년

15

Maven은 파일을 캐시에 보관하고 다운로드를 다시 시도하지 않습니다. .m2 디렉토리를 삭제하여 수동으로 '도움말'을 할 수 있으며, 친구는 기존의 지연된 모든 항목을 다운로드합니다.



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>

지정된 저장소에서 해당 아티팩트를 사용할 수없는 경우 이러한 아티팩트에 대한 Maven Central 저장소를 추가 할 수도 있습니다.

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

나는 그것을 시도했지만 여전히 errornous? 다음은 패키지 작업을 수행 한 후 일식의 부분 출력입니다. 프로젝트 잭팟에서 목표를 실행하지 못했습니다. 프로젝트 com.jeteo : jackpot : war : 1.0-SNAPSHOT의 종속성을 확인할 수 없습니다. 다음 아티팩트를 해결할 수 없습니다. servlet-api : jar : 2.5.0, javax.servlet : jstl : jar : 1.2.0, javax.transaction : jta : jar : 1.1.0 : javax.servlet : servlet-api : jar : 2.5.0을 찾지 못했습니다. 에 repository.springsource.com/maven/bundles/release가 로컬 저장소에 캐시 된, 해상도는 .... <의 cutted>의 업데이트 간격 때까지 재 시도되지 않습니다
버티

@ 앨버트 캄. 누락 된 아티팩트에 대한 maven 중앙 저장소에 대한 참조를 포함하도록 업데이트 된 답변
Raghuram

com.springsource 접두사는 유물 봄 엔터프라이즈 저장소에서 오는 의미
EIS

5

jar을 수동으로 다운로드 한 후 jar가 저장된 폴더에서 명령을 실행하십시오.

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_idversion_no메이븐 저장소 페이지에서 사용할 수 있습니다.


4

비슷한 문제가 있었고 pom.xml에 아래 repos를 추가하여 문제를 해결했습니다.

<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

비슷한 메시지가 있고 내 문제는 settings.xml의 프록시 환경 설정이었습니다. 그래서 나는 그들을 비활성화하고 모든 것이 잘 작동합니다.


1

이러한 종류의 문제는 다음 두 가지 이유로 발생합니다.

  1. 의존의 철자가 잘못되었습니다
  2. mvn 설정의 구성 (예 : ~ / .m2 / settings.xml)이 잘못되었습니다

대부분의 종속성을 다운로드 할 수 있으면 이유 1이 버그 일 수 있습니다. 반대로 대부분의 종속성에 문제가 있으면 settings.xml을 살펴 봐야 합니다.

글쎄, 나는 오후 내내 내 문제를 해결하려고 노력했고 마침내 나는 그것을 얻었다. 내 문제는, Settings.XML이하지의 잃거나 잘못된 맞춤법 발생 Settings.XML이 있지만,의 잃게 activeProfiles을 .


0

나는이 문제가 있었다. 필자의 경우 IntelliJ Idea가 pom.xml 파일 중 일부를 엉망으로 만들었 기 때문에 발생했습니다. 방금 원본으로 되 돌렸고 일이 다시 작동했습니다!


0

이 문제도 있었지만 NetBeans가 pom.xml 파일에 무언가를 추가했기 때문에 발생했습니다. 이전에 성공적으로 배포 한 이후에는 아무 것도 추가하지 않았습니다.


0

내 EAR 프로젝트에는 2 개의 모듈 * .ear 및 * .war이 있었고 *.war시도 할 때 프로젝트 에서이 종속성 오류가 발생했습니다 mvn eclipse:eclipse. *.war프로젝트 에서 UTF-8 인코딩 문제를 수정하여 해결했습니다 . mvn -X또는 -e옵션은 여기서 도움이되지 않았습니다.


0

내 컴퓨터의 방화벽으로 인해 발생한 것으로 나타났습니다. 그것을 끄는 것이 나를 위해 일했습니다.


1
컴퓨터의 방화벽을 끄는 동안 네트워크 설정에 따라 maven 프로세스 또는 maven central에 대한 예외를 추가하여보다 안전한 솔루션을 검색하는 것이 좋습니다 ... 나도
염소 자리

@ Capricorn 맞습니다. 이것은 최고는 아니지만 저에게 권장되는 모든 솔루션을 시도해 보았습니다. 더 나은 해결책이 있다면 알려주십시오. 감사합니다 !!! 편집 : 당신은 "매븐 프로세스 또는 메이븐 중앙에 예외를 추가"에 대해 언급, 난 정말 그것을 얻을 수 없습니다, 당신은 이것을 지정할 수 있습니다 ...
Duc Thanh

0

그런 문제가 발생했습니다. 근본 원인은 .m2 폴더입니다. 액세스하려는 모든 것이 .m2 폴더에 있는지 확인해야합니다 (이것은 로컬 저장소입니다). 물건이 있으면 좋다. 이것은 일반적으로 시스템의 사용자 폴더 안에 있습니다 (mac / linux 또는 Windows).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.