Co to znaczy ze jest na czerwono? To ze jakies IDE sobie z tym nie radzi nic nie znaczy, sprawdz czy maven sobie radzi.
Upgrade mavena by sie przydal. Jesli boisz sie ze nie wszyscy maja nowa wersje, mozesz uzyc pluginou maven-enforcer-plugin, i tam podac ze wymagasz minimum mavena 3 i jesli nie jest spelnione, build poda odpowiedni komunikat. Ja uzywam mavena 3.0.1 (tez powinienem zrobic upgrade) i dziala. Oto moj pom po pewnych cieciach:
Kopiuj
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Test</groupId>
<artifactId>Test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Test</name>
<a href="http://maven.apache.org">http://maven.apache.org</a>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>my-local-repo</id>
<a href="file://${basedir}/lib">file://${basedir}/lib</a>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
</dependency>
<dependency>
<groupId>jpathwatch</groupId>
<artifactId>jpathwatch</artifactId>
<version>0-95</version>
</dependency>
</dependencies>
</project>
A moje lokalne repo wyglada tak:
Kopiuj
lib/
jpathwatch
jpathwatch
0-95
jpathwatch-0-95.jar
A oto wynik builda:
Kopiuj
maria@hapek ~/Desktop/test
$ mvn clean compile -U
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Test 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: file://C:\Users\maria\Desktop\test/lib/jpathwatch/jpathwatch/0-95/jpathwatch-0-95.pom
Downloading: http://repo1.maven.org/maven2/jpathwatch/jpathwatch/0-95/jpathwatch-0-95.pom
[WARNING] The POM for jpathwatch:jpathwatch:jar:0-95 is missing, no dependency information available
Downloading: file://C:\Users\maria\Desktop\test/lib/jpathwatch/jpathwatch/0-95/jpathwatch-0-95.jar
[WARNING] Checksum validation failed, no checksums available from the repository for file://C:\Users\maria\Desktop\test
lib/jpathwatch/jpathwatch/0-95/jpathwatch-0-95.jar
Downloaded: file://C:\Users\maria\Desktop\test/lib/jpathwatch/jpathwatch/0-95/jpathwatch-0-95.jar (0 B at 0.0 KB/sec)
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ Test ---
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ Test ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\maria\Desktop\test\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ Test ---
[INFO] No sources to compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.102s
[INFO] Finished at: Wed Mar 28 10:48:04 CEST 2012
[INFO] Final Memory: 2M/15M
[INFO] ------------------------------------------------------------------------
Jak widzisz, dziala. Mam warningi mowiace ze nie ma pom i hashy, ale i na to sie zaradzi. Wez tego twojego jara, zawolaj install:install-file tak aby maven wrzucil to do prawdziwego, lokalnego repo, to wygeneruje domyslne pomy i hashe, i skopiuj caly ten katalog to twojego lib, po czym skasuj z lokalnego repo, aby miec pewnosc ze dziala tak jak chcesz a nie przez przypadek. Wzgledine, jesli masz poprawny pom.xml do tego jpathwatch, to mozesz install:install-file -DpomFile=mypom.xml dac (sprawdz na stronce pluginu, mozliwe ze uzywam zlej nazwy property), i zostanie uzyty poprawny pom, i obliczony dla niego hash.