Ini seharusnya merupakan proyek kerja dari teman saya. Dia mendemonstrasikan proyek tepat di depan saya, dan kemudian saya menyalin proyek, mengimpornya sebagai proyek pakar yang sudah ada (saya menggunakan m2eclipse
plugin).
Dan kemudian, kesalahan ini terjadi. Kesalahan ini dapat direproduksi setiap kali saya mencoba membangun sesuatu dengan pakar.
Melakukan dependensi mvn: tree, dependency: list, atau paket build yang biasa, akan menghasilkan kesalahan yang sama.
Kesalahan dari menjalankan build 'package' dari eclipse adalah:
[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
Dan di sini adalah isi dari 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>
Saya sudah mencoba mengunduh versi terbaru dari maven, dan memasukkannya ke dalam eclipse helios, tetapi masih memiliki masalah yang sama. Pesan kesalahan yang sama terjadi bahkan ketika saya menjalankannya di baris perintah shell (di luar gerhana).
Apa yang saya lewatkan?
Jawaban:
Sepertinya Anda melewatkan beberapa repo Maven. Minta teman Anda
.m2/settings.xml
, dan Anda mungkin ingin memperbarui POM untuk menyertakan repositori di sana.--edit: setelah beberapa googling cepat, coba tambahkan ini ke POM Anda:
sumber
.m2/settings.xml
dapat menentukan daftar repositori di luar yang standar direpo.maven.apache.org
. Dalam hal ini, JAR berasal dari repositori SpringSource dan tidak di Maven Central. Saya berasumsi bahwa teman memiliki repo SpringSource terdaftar di lokal.m2/settings.xml
, tidak menyebabkan kesalahan pencarian karena artefak akan ditemukan di repo pakar pakar. Sebaliknya, JAR di-cache, dan tidak ada pencarian sama sekali.Maven menyimpan file Anda di cache, dan jangan coba lagi untuk mengunduhnya. Anda cukup dapat 'membantunya' secara manual dengan menghapus direktori .m2, dan kemudian teman kami akan mengunduh semuanya melalui depedensi lama.
sumber
Sebagai sumber alternatif untuk masalah yang sama, jawaban ini mengutip menggunakan Maven 3 versus Maven 2 sebagai penyebab potensial masalah ini. Sedekat yang saya tahu, ini disebabkan oleh perubahan dalam resolusi repositori lokal yang diubah dalam Maven 3. Menempatkan ini di sini kalau-kalau ada orang lain yang googles untuk itu dan mencapai jawaban ini (seperti yang saya lakukan).
sumber
The
artifactId
untuk semua dependensi yang gagal download yang benar - untuk beberapa alasan mereka diawali dengancom.springsource
. Masalah cut / paste?Anda dapat mencoba menggantinya sebagai berikut.
Anda mungkin juga ingin menambahkan repositori pusat maven untuk artefak ini seandainya tidak tersedia di repositori yang ditentukan.
sumber
Unduh toples secara manual dan kemudian jalankan perintah dari folder tempat toples disimpan:
The
jar file
,jar_file_name
,group_id
,artifact_id
danversion_no
tersedia dari halaman repositori maven.sumber
Saya memiliki masalah yang sama dan saya memperbaikinya dengan menambahkan repo di bawah ini di pom.xml saya:
sumber
Memecahkan masalah saya. Karena repo di-cache, saya perlu memaksanya untuk mendapatkan versi terbaru.
sumber
Saya mendapat pesan serupa dan masalah saya adalah beberapa preferensi proxy di settings.xml saya. Jadi saya menonaktifkannya dan semuanya berfungsi dengan baik.
sumber
Masalah seperti ini disebabkan oleh dua alasan:
Jika sebagian besar dependensi dapat diunduh, maka alasan 1 mungkin merupakan bug yang paling mungkin. Sebaliknya, jika sebagian besar dependensi memiliki masalah, maka Anda harus melihat pada setting.xml .
Yah, saya telah mencoba untuk memperbaiki masalah saya sepanjang sore, dan akhirnya saya mendapatkannya. Masalah saya terjadi pada settings.xml, bukan ejaan settings.xml yang hilang atau salah , tetapi hilangnya activeProfiles .
sumber
Saya punya masalah ini. Dalam kasus saya itu disebabkan oleh IntelliJ Idea yang bermain-main dengan beberapa file pom.xml (yang sepertinya senang dilakukan!). Saya baru saja kembali ke salinan aslinya dan semuanya kembali berfungsi!
sumber
Saya punya masalah ini juga, ternyata itu karena NetBeans menambahkan sesuatu ke file pom.xml saya. Periksa tidak ada yang ditambahkan sejak penerapan sukses sebelumnya.
sumber
Proyek EAR saya memiliki 2 modul * .ear dan * .war dan saya mengalami kesalahan ketergantungan pada
*.war
proyek saat mencobamvn eclipse:eclipse
. Mengatasinya dengan memperbaiki masalah pengkodean utf-8 dalam*.war
proyek.mvn
-X
atau-e
opsi tidak membantu di sini.sumber
Ternyata itu terjadi karena firewall di komputer saya. Mematikannya bekerja untuk saya.
sumber
Telah menemukan masalah seperti itu. Penyebab utama adalah folder .m2. Anda harus memastikan bahwa apa pun yang Anda coba akses ada di sana di folder .m2 Anda (ini adalah repo lokal Anda). Jika barang ada di sana maka Anda baik-baik saja. Ini biasanya ada di dalam folder pengguna di sistem Anda (baik itu mac / linux atau bahkan windows)
sumber