安装在〜/ .m2中的`maven compile`找不到软件包

时间:2019-02-28 00:56:55

标签: maven

我正在尝试学习如何构建Maven项目。 这是我的./src/main/java/Hello.java

import com.google.code.gson.*;

public class Hello{
  public static void main(String[] args) {
    System.out.println("Hello world");
  }
}

该文件实际上没有做任何事情,我只想学习如何导入第3个库。 这是我的./pom.xml

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

因此,我尝试执行mvn compile

但是有一个错误:

package com.google.code.gson does not exist

但是在我的~/.m2/repository

$ tree -L 3 ~/.m2/repository/com/google/code/gson
/Users/apple/.m2/repository/com/google/code/gson
├── 2.8.5
│   ├── gson-2.8.5.jar.lastUpdated
│   └── gson-2.8.5.pom.lastUpdated
├── gson
│   └── 2.8.5
│       ├── _remote.repositories
│       ├── gson-2.8.5.jar
│       ├── gson-2.8.5.jar.sha1
│       ├── gson-2.8.5.pom
│       └── gson-2.8.5.pom.sha1

我似乎mvn不会将~/.m2/repository添加到我的类路径中,该如何解决?

$ mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /Users/apple/Downloads/apache-maven-3.6.0
Java version: 10, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
Default locale: en_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.6", arch: "x86_64", family: "mac"

1 个答案:

答案 0 :(得分:1)

根据GSON javadoc,没有称为com.google.code.gson.*的软件包。根软件包从com.google.gson开始。因此更改为:

import com.google.gson.*;

您在<groupId>中看到的内容与程序包名称无关。始终使用javadoc或其source codes来获取程序包名称。