【问题标题】:I have added dependency in Pom.xml but Maven is not picking up, maven build gets fails我在 Pom.xml 中添加了依赖项,但 Maven 没有启动,Maven 构建失败
【发布时间】:2016-10-04 07:30:29
【问题描述】:

我需要使用 gson jar 将 POJO 文件保存到 java.为此我在 Pom.xml 中添加了它的依赖项

我的本​​地 m2 存储库中有这个 jar

但是在导入语句中我收到了这个错误

我确实更新了项目并清理了项目,但没有解决问题。

然后我通过添加外部 jar 添加了这个 jar

这样编译错误就解决了

但是当我进行 Maven 安装和 Maven 构建失败时,我得到的错误是:

Gson 的 import 语句出错。

添加更新的 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>

谁能建议我缺少什么或者我应该如何解决这个错误

【问题讨论】:

    标签: java xml eclipse maven


    【解决方案1】:

    您声明了错误的依赖项。应该是

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

    虽然您的 groupId&lt;groupId&gt;com.google.code.gson.gson&lt;/groupId&gt; - 请注意最后的双 .gson

    更新:

    因此,当您粘贴 POM 时,我们现在可以看到问题所在。 您在 Dependency Managemet 中而不是在 Dependencies 中给出了依赖项 (gson)。您还必须将它包含在 Dependencies 中。要了解什么是依赖管理,请阅读 mavens doc https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

    【讨论】:

    • 我按照您的建议添加了依赖项,然后完成了更新项目和 Maven 构建和安装。但它仍然没有采取这种依赖关系。同样在我本地的 m2 中,我没有看到 2.7 版本的 gson。请建议我下一步该怎么做。
    • @FatemaRangwala mvn clean install should 应该可以工作。将您的 POM 内容附加到问题中。
    • @FatemaRangwala 粘贴整个POM 不是截图...基本上你不应该像你所做的那样附上截图(这就是为什么问题被否决)
    • 好的,我想只添加与问题相关的部分的屏幕截图。明白你的意思了。粘贴 pom.xml。
    • @FatemaRangwala 如您所见,屏幕截图在您的情况下毫无用处,而pom 的内容却节省了一天:)
    猜你喜欢
    • 2021-09-19
    • 2015-12-08
    • 1970-01-01
    • 2019-08-18
    • 2013-06-06
    • 1970-01-01
    • 2019-10-10
    • 2013-11-07
    • 2018-06-01
    相关资源
    最近更新 更多