记一次maven私服仓库配置的吭

起因

项目 pom 文件内有

<dependency>
    <groupId>org.geotools</groupId>
    <artifactId>gt-geojson</artifactId>
    <version>28.2</version>
</dependency>

这样一段配置,gt-geojson还依赖了其他的一些,例如gt-main等,在同事的机器上能正常下载到 gt-main,
我这边一直不能下载到gt-main等其他依赖maven私服也代理了osgeo的仓库地址,查看了一下本地 gt-geojson.pom文件,内容如下:

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.geotools</groupId>
  <artifactId>gt-geojson</artifactId>
  <version>28.2</version>
</project>

很显示这是不完整的,不知道从哪下载的,

又运行了下面的命令,

curl https://repo.osgeo.org/repository/release/org/geotools/gt-geojson/28.2/gt-geojson-28.2.pom

直接从osgeo仓库下载pom文件,内容为

<?xml version="1.0" encoding="UTF-8"?>
<!-- =======================================================================
        Maven Project Configuration File
        The Geotools Project
            http://www.geotools.org/
        Version: $Id: pom.xml 33582 2009-07-17 04:40:35Z mbedward $
     ======================================================================= -->
<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>
  <parent>
    <groupId>org.geotools</groupId>
    <artifactId>unsupported</artifactId>
    <version>28.2</version>
  </parent>
  <!-- =========================================================== -->
  <!--     Module Description                                      -->
  <!-- =========================================================== -->
  <groupId>org.geotools</groupId>
  <artifactId>gt-geojson</artifactId>
  <packaging>jar</packaging>
  <name>GeoJSON Support</name>
  <description>Provides GeoJSON Encoding and Parsing support.</description>
  <licenses>
    <license>
      <name>Lesser General Public License (LGPL)</name>
      <url>http://www.gnu.org/copyleft/lesser.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <!-- =========================================================== -->
  <!--     Developers and Contributors                             -->
  <!-- =========================================================== -->
  <developers>
    <developer>
      <id>jdeolive</id>
      <name>Justin Deoliveira</name>
      <email>jdeolive@sourceforge.net</email>
      <organization>OpenGeo</organization>
      <roles>
        <role>Module Maintainer</role>
        <role>Java Developer</role>
      </roles>
    </developer>
  </developers>
  <dependencies>
    <!--   GeoTools modules   -->
    <dependency>
      <groupId>org.geotools</groupId>
      <artifactId>gt-main</artifactId>
      <version>${project.version}</version>
    </dependency>
    <!--   Third-party dependencies   -->
    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.geotools</groupId>
      <artifactId>gt-epsg-hsql</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>
  </dependencies>
  <profiles>
    <profile>
      <id>benchmark</id>
      <dependencies>
        <dependency>
          <groupId>org.geotools</groupId>
          <artifactId>gt-shapefile</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>commons-io</groupId>
          <artifactId>commons-io</artifactId>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
</project>

很明显,上面这个才是完整的pom,

解决办法一

为在maven私服中将osgeo的优先级调高,就可以解决这个问题
image

解决办法二(推荐)

配置本地maven
profiles标签中添加下面这段

<profile>
		<id>osgeo</id>
		<repositories>
			<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>
		</repositories>
	</profile>

activeProfiles 标签中添加下面这段,激活上面的配置

<activeProfile>osgeo</activeProfile>
posted @ 2025-08-25 03:19  猝死的路上  阅读(36)  评论(0)    收藏  举报