Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Maven. Не подгружаются зависимости


Автор: Старовъръ 4.12.2009, 13:37
Раньше было все нормально. Однако сейчас, когда приложение пытается подгрузить зависимости(при условии, что репозиторий пуст), то ни одна библиотека не подгружается. Пишет следующее:
Цитата
[WARNING] POM for 'commons-beanutils:commons-beanutils:pom:1.7.0:compile' is invalid. It will be ignored for artifact resolution. Reason: Not a v4.0.0 POM. for project commons-beanutils:commons-beanutils at C:\Users\ctapobep\.m2\repository\commons-beanutils\commons-beanutils\1.7.0\commons-beanutils-1.7.0.pom
Все библиотеки по несколько килобайт и всьо(
Главный pom:
Код
<?xml version="1.0" encoding="UTF-8"?>
<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.package</groupId>
    <artifactId>project</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>finist</name>
    <url>http://maven.apache.org</url>
    <repositories>
        <repository>
            <id>maven-repository.dev.java.net</id>
            <url>https://maven-repository.dev.java.net/nonav/repository/</url>
            <layout>legacy</layout>
        </repository>
    </repositories>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2-beta-4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>su.kitec.finist.Main</mainClass>
                            <addClasspath>true</addClasspath>
                        </manifest>
                    </archive>
                    <descriptors>
                        <descriptor>assemblyDescriptor2.xml</descriptor>
                    </descriptors>
                    <!--<archiverConfig>-->
                        <!--<duplicateBehavior>skip</duplicateBehavior>-->
                    <!--</archiverConfig>-->
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <!--JAXB-->
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-rt</artifactId>
            <version>2.1.7</version>
        </dependency>
        <!--Testing-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.4</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>1.8.0</version>
        </dependency>
        <!-- spring-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
            <version>2.5.6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>2.5.6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>2.5.6</version>
        </dependency>
        <!--hibernate-->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate</artifactId>
            <version>3.2.6.ga</version>
            <exclusions>
                <exclusion>
                    <groupId>asm</groupId>
                    <artifactId>asm-attrs</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>jta</groupId>
                    <artifactId>jta</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>oro</groupId>
            <artifactId>oro</artifactId>
            <version>2.0.8</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
        <!--other-->
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>1.6</version>
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time-hibernate</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>com.ibm.icu</groupId>
            <artifactId>icu4j</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-digester</groupId>
            <artifactId>commons-digester</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.7.0</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6.1</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.9</version>
        </dependency>

    </dependencies>
    <modules>
        <module>model</module>
        <module>tariffication</module>
        <module>security</module>
        <module>net</module>
        <module>ws</module>
        <module>utils</module>
        <module>scheduler</module>
        <module>core</module>
        <module>radius</module>
        <module>financial</module>
        <module>test</module>
        <module>netflow</module>
        <module>reports</module>
        <module>view-controller</module>
    </modules>
</project>

Автор: LSD 4.12.2009, 14:01
1. Выложи содержимое commons-beanutils-1.7.0.pom
2. Какие настройки прокси?

Добавлено через 1 минуту и 7 секунд
Правильный commons-beanutils-1.7.0.pom
Код

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>commons-beanutils</groupId>
  <artifactId>commons-beanutils</artifactId>
  <version>1.7.0</version>
  <dependencies>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.3</version>
    </dependency>
  </dependencies>
</project>

Автор: Старовъръ 4.12.2009, 14:17
Так это ж качается с центрального мавен-репозитория, мало вероятности, что у них там POM неправильный smile Тем паче это я только пример привел - на самом деле ВСЕ библиотеки не подгружаются и пишется такой же ворнинг.

Автор: LSD 4.12.2009, 16:44
Цитата(Старовъръ @  4.12.2009,  14:17 Найти цитируемый пост)
Так это ж качается с центрального мавен-репозитория, мало вероятности, что у них там POM неправильный

Я спрашивал, содержимое POM-а который лежит у тебя в локальном репозитории.

Запусти с ключем -X и выложи полный вывод.

Автор: Старовъръ 4.12.2009, 17:58
Там вывело дочерта текста, но содержимого pom-a не вывело. Если глянуть в мой репозиторий, то, к примеру, junit-4.4.pom выглядит так:
Код

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://download.java.net/maven/1/junit/poms/junit-4.4.pom">here</a>.</p>
<hr>
<address>Apache Server at maven-repository.dev.java.net Port 443</address>
</body></html>

Автор: LSD 4.12.2009, 19:48
Ответ очевиден: Maven пытается загрузить артефакт из репозитория который переместили в другое место (о чем тебе веб сервер и сообщает).

Выложи settings.xml.

Автор: Старовъръ 4.12.2009, 20:00
Я с Мавеном на Вы, такого файла я не создавал и впервые о нем слышу. Я так понимаю ошибка из-за того, что я объявил дополнительный репозиторий:
Код

    <repositories>
        <repository>
            <id>maven-repository.dev.java.net</id>
            <url>https://maven-repository.dev.java.net/nonav/repository/</url>
            <layout>legacy</layout>
        </repository>
    </repositories>
Похоже я объявил не дополнительный, а единственный - теперь только с него пытаются либы качаться. Как же мне объявить оба? Я попробовал дописать центральный мавен-репозиторий, однако безуспешно(

Автор: LSD 6.12.2009, 16:00
Цитата(Старовъръ @  4.12.2009,  20:00 Найти цитируемый пост)
Я с Мавеном на Вы, такого файла я не создавал и впервые о нем слышу.

Он находится в директории Maven-а. Но раз ты его не менял, то там нет ничего интересного.


Цитата(Старовъръ @  4.12.2009,  20:00 Найти цитируемый пост)
Похоже я объявил не дополнительный, а единственный - теперь только с него пытаются либы качаться. Как же мне объявить оба? Я попробовал дописать центральный мавен-репозиторий, однако безуспешно(

Нет, дело не совсем в этом. Ты действительно объявил дополнительный репозиторий. Но проблема в том что:
1. Maven ищет артефакты вначале в дополнительных репозиториях и только потом в главном
2. ты неправильно указал URL этого репозитория (по этому URL его уже нет)
3. админам которые перемещали репозиторий, надо дать по башке, та то что вместо HTTP статуса 301, они просто выдают HTML страничку с редиректом

При запуске происходит следующее:
- Maven обнаруживает в настройка новый репозиторий и вначале делает попытку загрузить артефакты оттуда
- на любой запрос сервер выдает страничку с редиректом и HTTP кодом 200 (SIC!)
- Maven считает, что артефакт успешно загружен и начинает билд
- поскольку по факту артефакт не был загружен, билд проваливается

Исправь объявление репозитория:
Код

    <repositories>
        <repository>
            <id>maven-repository.dev.java.net</id>
            <url>http://download.java.net/maven/2/</url>
        </repository>
    </repositories>

Автор: Старовъръ 3.1.2010, 16:57
Большое спасибо, очень помог!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)