Я добавил зависимость в Pom.xml но Maven не отвечает, сборка maven завершается неудачно

#java #xml #eclipse #maven

#java #xml #eclipse #maven

Вопрос:

Мне нужно использовать gson jar для сохранения файла POJO в java.Для этого я добавил его зависимость в Pom.xml

введите описание изображения здесь

У меня есть этот jar в моем локальном репозитории m2

введите описание изображения здесь

Но в инструкции import я получаю эту ошибку введите описание изображения здесь
введите описание изображения здесь

Я обновил проект и очистил проект, но не решил проблему.

Затем я добавил этот jar через add external jar введите описание изображения здесь

При этом ошибка компиляции была устранена введите описание изображения здесь

Но когда я выполняю установку Maven и сборку Maven, она завершается неудачно, я получаю ошибку:

введите описание изображения здесь

Для Gson выдается ошибка при импорте.

Добавление обновленного pom.xml введите описание изображения здесь

pom.xml

 <?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/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <artifactId>parent</artifactId>
        <groupId>configurator</groupId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../parent-pom/pom.xml</relativePath>
    </parent>

    <groupId>com.csc.fs.accel.browser</groupId>
    <artifactId>com.csc.fs.accel.browser.dictionary.rest</artifactId>
    <packaging>bundle</packaging>

    <name>com.csc.fs.accel.browser.dictionary.rest Blueprint Bundle</name>
    <description>com.csc.fs.accel.browser.dictionary.rest OSGi blueprint bundle project.</description>

    <dependencies>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.csc.fs.accel.browser</groupId>
            <artifactId>com.csc.fs.accel.browser.dictionary.service</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>javax.jcr</groupId>
            <artifactId>jcr</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.birt.runtime</groupId>
            <artifactId>org.eclipse.emf.common</artifactId>
        </dependency>

        <dependency>
            <groupId>org.eclipse.birt.runtime</groupId>
            <artifactId>org.eclipse.emf.ecore</artifactId>
        </dependency>

        <dependency>
            <groupId>org.eclipse.birt.runtime</groupId>
            <artifactId>org.eclipse.emf.ecore.xmi</artifactId>
        </dependency>

        <!-- <dependency>
            <groupId>org.emfjson</groupId>
            <artifactId>emfjson-jackson</artifactId>
            <version>0.9.0</version>
        </dependency> -->
      <dependency>
        <groupId>org.eclipselabs</groupId>
            <artifactId>org.eclipselabs.emfjson</artifactId>
            <version>0.8.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.csc.fs</groupId>
            <artifactId>com.csc.fs.storage.service</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.csc.fs.pa</groupId>
            <artifactId>com.csc.fs.pa.common.exception</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.csc.fs.pa</groupId>
            <artifactId>com.csc.fs.pa.common.service</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.csc.fs.accel</groupId>
            <artifactId>com.csc.fs.accel.etools.datadictionary.model</artifactId>
            <version>2.0.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.csc.fs.accel</groupId>
            <artifactId>com.csc.fs.accel.etools.common.usability.api</artifactId>
            <version>2.0.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.csc.fs.accel</groupId>
            <artifactId>com.csc.fs.accel.etools.common.model</artifactId>
            <version>2.1.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
        </dependency>

         <dependency>
                <groupId>org.eclipse.xsd</groupId>
                <artifactId>xsd</artifactId>
                <version>2.2.3</version>
            </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
        </dependency>

        <dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
        </dependency>

        <dependency>
                <groupId>com.csc.fs.pa</groupId>
                <artifactId>
                    com.csc.fs.pa.allowedValue.service
                </artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>2.3.7</version>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                        <Bundle-Version>${project.version}</Bundle-Version>
                        <Export-Package>com.csc.fs.accel.browser.dictionary.rest*;version=${project.version}</Export-Package>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>
    </build>


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.csc.fs.accel</groupId>
                <artifactId>
                    com.csc.fs.accel.etools.datadictionary.model
                </artifactId>
                <version>2.0.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>com.csc.fs.accel</groupId>
                <artifactId>com.csc.fs.accel.etools.common.usability.api</artifactId>
                <version>2.0.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>com.csc.fs.accel</groupId>
                <artifactId>
                    com.csc.fs.accel.etools.common.model
                </artifactId>
                <version>2.1.0-SNAPSHOT</version>
            </dependency>
            <dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.7</version>
</dependency>       
</dependencies>
    </dependencyManagement>

</project>
  

Может кто-нибудь подсказать, чего мне не хватает или как мне устранить эту ошибку

Ответ №1:

Вы неправильно объявили зависимость. Это должно быть

 <dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.7</version>
</dependency>
  

в то время groupId <groupId>com.google.code.gson.gson</groupId> как в конце вы получаете двойное уведомление .gson .

Обновить:

Итак, теперь, когда вы вставили свой POM, мы можем видеть, в чем проблема. Вы указали зависимость (gson) в Dependency Managemet, а не в Dependencies. Вы также должны включить его в зависимости. Чтобы понять, что такое управление зависимостями, прочитайте mavens doc https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

Комментарии:

1. Я добавил зависимость, как вы предложили, затем выполнил проект обновления и сборку и установку Maven. Но все же он не принимает эту зависимость. Также в моем локальном m2 я не видел gson версии 2.7. Пожалуйста, подскажите, что мне делать дальше.

2. @FatemaRangwala mvn clean install should должен работать. Прикрепите свой POM контент к вопросу.

3. @FatemaRangwala вставьте весь POM снимок экрана, а не скриншот … в основном вы не должны прикреплять скриншоты, как вы это делали вообще (вот почему вопрос отклонен)

4. хорошо, я подумал добавить скриншот только тех частей, которые связаны с вопросом. Понял вашу точку зрения. Вставил pom.xml .

5. @FatemaRangwala и, как вы можете видеть, скриншоты в вашем случае были бесполезны, pom контент, с другой стороны, спас положение 🙂