Maven Missing artifact org.geotools:gt-shapefile:jar:11-SNAPSHOT

时间:2013-09-29 10:05:18

标签: java eclipse maven geotools

您好我正在尝试用maven编写一个简单的geotools项目。其实我对maven很新。我打开了新的maven项目我设置了设置并编写了一些代码。据我所知,maven应该下载并安装所需的geotools jar文件。但是我得到“Missing artifact org.geotools:gt-shapefile:jar:11-SNAPSHOT”错误,我无法理解为什么会这样。

我的工作环境:

Eclipse Kepler, Jdk 6, Maven-最新发布, Geotools-最新版本

这是我的pom.xml

<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>org.geotools</groupId>
<artifactId>tutorial</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>tutorial</name>
<url>http://maven.apache.org</url>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <geotools.version>11-SNAPSHOT</geotools.version>
</properties>
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.geotools</groupId>
        <artifactId>gt-shapefile</artifactId>
        <version>${geotools.version}</version>
    </dependency>
    <dependency>
        <groupId>org.geotools</groupId>
        <artifactId>gt-swing</artifactId>
        <version>${geotools.version}</version>
    </dependency>
</dependencies>
<repositories>
    <repository>
        <id>maven2-repository.dev.java.net</id>
        <name>Java.net repository</name>
        <url>http://download.java.net/maven/2</url>
    </repository>
    <repository>
        <id>osgeo</id>
        <name>Open Source Geospatial Foundation Repository</name>
        <url>http://download.osgeo.org/webdav/geotools/</url>
    </repository>
</repositories>

这是我的快速入门课程

    package org.geotools.tutorial;

import java.io.File;

import org.geotools.data.FileDataStore;
import org.geotools.data.FileDataStoreFinder;
import org.geotools.data.simple.SimpleFeatureSource;
import org.geotools.map.FeatureLayer;
import org.geotools.map.Layer;
import org.geotools.map.MapContent;
import org.geotools.styling.SLD;
import org.geotools.styling.Style;
import org.geotools.swing.JMapFrame;
import org.geotools.swing.data.JFileDataStoreChooser;

/**
 * Prompts the user for a shapefile and displays the contents on the screen in a map frame.
 * <p>
 * This is the GeoTools Quickstart application used in documentationa and tutorials. *
 */
public class Quickstart {

    /**
     * GeoTools Quickstart demo application. Prompts the user for a shapefile and displays its
     * contents on the screen in a map frame
     */
    public static void main(String[] args) throws Exception {
        // display a data store file chooser dialog for shapefiles
        File file = JFileDataStoreChooser.showOpenFile("shp", null);
        if (file == null) {
            return;
        }

        FileDataStore store = FileDataStoreFinder.getDataStore(file);
        SimpleFeatureSource featureSource = store.getFeatureSource();

        // Create a map content and add our shapefile to it
        MapContent map = new MapContent();
        map.setTitle("Quickstart");

        Style style = SLD.createSimpleStyle(featureSource.getSchema());
        Layer layer = new FeatureLayer(featureSource, style);
        map.addLayer(layer);

        // Now display the map
        JMapFrame.showMap(map);
    }

}

我刚刚编写了我没有下载或安装任何罐子的代码。我把项目作为maven项目打开了。我想知道maven何时以及如何下载和安装jar?

谢谢。

6 个答案:

答案 0 :(得分:4)

尝试使用以下代码替换存储库网址:http://repo.opengeo.org/

答案 1 :(得分:4)

我知道这确实很老,但是在搜索问题时仍然会首先出现。 URL再次更改,现在为:

<repository>
    <id>osgeo</id>
    <name>OSGeo Release Repository</name>
    <url>https://repo.osgeo.org/repository/release/</url>
  </repository>

或者如果要启用快照:

  <repository>
    <id>osgeo</id>
    <name>OSGeo Release Repository</name>
    <url>https://repo.osgeo.org/repository/release/</url>
    <snapshots><enabled>false</enabled></snapshots>
    <releases><enabled>true</enabled></releases>
  </repository>
  <repository>
    <id>osgeo-snapshot</id>
    <name>OSGeo Snapshot Repository</name>
    <url>https://repo.osgeo.org/repository/snapshot/</url>
    <snapshots><enabled>true</enabled></snapshots>
    <releases><enabled>false</enabled></releases>
  </repository>

另请参阅Eclipse Quickstart guide on the project website

答案 2 :(得分:2)

Maven在其生命周期阶段之一下载并将jar放入本地存储库我不确定哪一个,但如果你运行mvn clean install它应该下载你项目所需的所有jar。

答案 3 :(得分:2)

对我来说,添加以下修复了问题。它试图让GeoTools不再使用repo,因为它不在maven central上。

<repository>
    <id>osgeo</id>
    <name>Geotools repository</name>
    <url>http://download.osgeo.org/webdav/geotools</url>
</repository>

答案 4 :(得分:1)

我遇到了同样的问题,用URL“http://repo.opengeo.org/替换存储库”对我有用!

答案 5 :(得分:0)

这是一个很老的帖子,但是我最近遇到了这个问题,并通过替换

解决了

http://repo.opengeo.org/http://repo.boundlessgeo.com/main/