이것은 내 친구의 작업 프로젝트로되어 있습니다. 그는 내 앞에서 프로젝트를 시연 한 다음 프로젝트를 복사하여 기존 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에 포함 시켰지만 여전히 동일한 문제입니다. 쉘 명령 줄 (일식 외부)에서 실행할 때도 동일한 오류 메시지가 발생합니다.
내가 무엇을 놓치고 있습니까?
답변
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>
답변
Maven은 파일을 캐시에 보관하고 다운로드를 다시 시도하지 않습니다. .m2 디렉토리를 삭제하여 수동으로 ‘도움말’을 할 수 있으며, 친구는 기존의 지연된 모든 항목을 다운로드합니다.
답변
동일한 문제에 대한 대안 으로이 답변 은 Maven 3과 Maven 2를이 문제의 잠재적 원인으로 사용합니다. 내가 알 수 있듯이, 이것은 Maven 3에서 변경된 로컬 저장소 해상도의 변경 때문입니다.
답변
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>
답변
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_id
및 version_no
메이븐 저장소 페이지에서 사용할 수 있습니다.
답변
비슷한 문제가 있었고 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>
답변
mvn clean install -U
내 문제를 해결했다. 리포지토리가 캐시되었으므로 최신 버전을 가져와야했습니다.