导入和使用Maven托管Java库(CitySDK)

时间:2014-12-17 17:00:01

标签: java maven import dependency-management

我正在尝试基于项目库CitySDK构建一个Web应用程序,但我不知道如何将其正确导入到我自己的项目中。

我创建了一个Maven Web应用程序并添加了CitySDK库作为依赖项,然后选择了项目,右键单击并选择了依赖项构建。没有出现错误,在下图中您可以看到它显示为依赖。

但是,每当我尝试使用某些特定于它的类时,在我自己的Web应用程序(称为TourismApplication' TestClass.java)中,编译器会显示一个错误,即包未知。谁能提出关于我错过了什么的想法?我已经遵循了几个Maven教程,但没有任何影响。

enter image description here

依赖关系如下:

enter image description here

1 个答案:

答案 0 :(得分:1)

好的,我做了一些挖掘,我想我找出了你的问题。根据项目结构,他们的POM文件不正确。

首先,我会解释一下我认为你在项目中建立它所采取的步骤,以确保我遵循相同的步骤来实现它。这些是我采取的步骤:

  1. 从OP中放置的链接克隆/下载源
  2. 通过运行他们声称要使用的命令将项目构建到jar文件中:mvn clean package assembly:single
  3. 使用mvn install
  4. 在本地Maven仓库中安装工件
  5. 在项目POM中添加了依赖项
  6. 我尝试了同样的事情,使用测试源文件中的库,但无济于事。我查看了使用他们的指令构建的.jar文件,但没有找到存档的任何.class文件......它基本上是空的。

    事实证明,他们的src文件夹结构遵循Maven标准,但是他们的POM文件表明源是在不同的目录链中。如果仔细检查构建日志,则会看到“[INFO]无编译源”

    它们提供的POM.xml文件将源目录指定为

    <sourceDirectory>src/citysdk/tourism/client</sourceDirectory>
    

    但是,实际文件位于

    src\main\java\citysdk\tourism\client
    

    将POM文件中的行从上面更改为(类似于测试):

    <sourceDirectory>src/main/java/citysdk/tourism/client</sourceDirectory>
    <testSourceDirectory>src/test/java/citysdk/tourism/client/tests</testSourceDirectory>
    

    重建并安装,当我尝试在我的项目中使用它时,它工作正常。希望这会有所帮助。

    仅供参考,我使用IntelliJ作为我的IDE,但它应该与Eclipse一样。