Как я могу исключить родительскую зависимость "<parent> </parent>" из файла .pom? - PullRequest
0 голосов
/ 26 октября 2018
I have an issue with a dependency in my pom.xml

<dependency>
    <groupId>com.risk.recoveries.common</groupId>
    <artifactId>disputemanager-client</artifactId>
    <version>1.7</version>
</dependency>

<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>
   <parent>
        <groupId>com.risk.recoveries.common</groupId>
        <artifactId>common-parent</artifactId>
        <version>1.4-HELIX-4.0.0-SNAPSHOT</version>
        <relativePath>../../../buildconfig/superpom/pom.xml</relativePath>
    </parent>
  <groupId>com.risk.recoveries.common</groupId>
  <artifactId>disputemanager-client</artifactId>
  <version>1.7</version>
  <name>Dispute Manager Client</name>
  <description>Dispute Manager WSDL client - JAX-WS generated stub</description>
  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.8.1</version>
                <executions>
                    <execution>
                        <phase>install</phase>
                        <id>install</id>
                        <goals>
                            <goal>aggregate-jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <linksource>true</linksource>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>wsimport</goal>
                        </goals>
                        <configuration>
                            <wsdlDirectory>src/main/resources/wsdl</wsdlDirectory>
                            <extension>true</extension>
                            <wsdlFiles>
                                <wsdlFile>DisputeManager.wsdl</wsdlFile>
                            </wsdlFiles>
                            <!--wsdlLocation>wsdl/DisputeManager.wsdl</wsdlLocation-->
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <executions>
                    <execution>
                        <id>clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                        <configuration>
                            <filesets>
                                <fileset>
                                    <directory>target/generated/cxf</directory>
                                    <includes>
                                        <include>**/*.java</include>
                                    </includes>                                 
                                    <followSymlinks>true</followSymlinks>
                                </fileset>
                                <fileset>
                                    <directory>${basedir}/src/main/resources</directory>
                                    <includes>
                                        <include>**/*genlog</include>
                                    </includes>
                                </fileset>
                            </filesets>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>jaxws/wsimport/java</directory>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
    </build>
    <dependencies>
        <dependency>
            <groupId>com.infra</groupId>
            <artifactId>infra-core</artifactId>
        </dependency> 
        <dependency>
            <groupId>com.kernel</groupId>
            <artifactId>uKernelCore</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jmock</groupId>
            <artifactId>jmock-legacy</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-rt</artifactId>
            <version>2.1.3</version>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
        </dependency>
        <dependency>
            <groupId>com.domain.risk</groupId>
            <artifactId>disputemanager-v3-client</artifactId>
            <version>0.0.5-SNAPSHOT</version>
        </dependency>       
    </dependencies>
</project>

, поэтому здесь, в приведенном выше файле pom, есть родительский тег ((common-parent), которого нет в нексусе, куда загружаются мои артефакты, поэтому, если я получаю сообщение об ошибке, найдите ошибку ниже, есть лиспособ, которым я могу исключить этот родительский тег (общий родительский) из артефакта disputemanager-client? Пожалуйста, помогите мне с этим.

Ошибка:

[ОШИБКА] Не удалось выполнить цель в проекте riskactionmsgdDaemon:Не удалось разрешить зависимости для проекта com.raptor.risk: riskactionmsgdDaemon: jar: 0.0.1-SNAPSHOT: не удалось собрать зависимости на com.risk.recoveries.common: disputemanager-client: jar: 1.7: не удалось прочитать дескриптор артефакта для com.risk.recoveries.common: disputemanager-client: jar: 1.7: не удалось найти артефакт com.risk.recoveries.common: общий родительский элемент: pom: 1.4-HELIX-4.0.0-SNAPSHOT публично (https://central.es.com/nexus/content/repositories/public/) -> [Помощь 1]

1 Ответ

0 голосов
/ 27 октября 2018

Невозможно исключить родительскую зависимость .

Кто бы ни написал pom.xml для disputemanager-client, он жестоко злоупотребил элементом <relativePath>.Если родительский pom не является частью проекта, который ссылается на него, то <relativePath> не должен указываться вообще.

Сначала вам нужно убедиться, что родительский pom.xml недоступен в любом месте вашего репозитория Nexus.Помните, что артефакты SNAPSHOT (poms, jar и т. Д.) Обычно хранятся в другом хранилище, чем выпущенные артефакты (без версии -SNAPSHOT в версии).Возможно, ваш файл ~/.m2/settings.xml настроен неправильно.

Если вы не можете найти этот файл где-либо в Nexus, вам следует попытаться получить копию от со-разработчика.Создайте каталоги buildconfig/superpom в расположении на три уровня выше в вашей файловой системе, чем в вашем проекте (чтобы разрешить relativePath), и поместите туда родительский файл pom.xml (предоставленный со-разработчиком).

Вам будет трудно продолжить работу без копии этого файла, так как, по-видимому, в нем указана информация о версии для многих зависимостей.Обратите внимание, что многие из зависимостей disputemanager-client не имеют элемента <version>...</version>?Это потому, что эти версии были указаны в этом отсутствующем родительском pom.xml (или даже родительском родительском).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...