我正在尝试基于项目库CitySDK构建一个Web应用程序,但我不知道如何将其正确导入到我自己的项目中。
我创建了一个Maven Web应用程序并添加了CitySDK库作为依赖项,然后选择了项目,右键单击并选择了依赖项构建。没有出现错误,在下图中您可以看到它显示为依赖。
但是,每当我尝试使用某些特定于它的类时,在我自己的Web应用程序(称为TourismApplication' TestClass.java)中,编译器会显示一个错误,即包未知。谁能提出关于我错过了什么的想法?我已经遵循了几个Maven教程,但没有任何影响。
依赖关系如下:
答案 0 :(得分:1)
好的,我做了一些挖掘,我想我找出了你的问题。根据项目结构,他们的POM文件不正确。
首先,我会解释一下我认为你在项目中建立它所采取的步骤,以确保我遵循相同的步骤来实现它。这些是我采取的步骤:
mvn clean package assembly:single
mvn install
我尝试了同样的事情,使用测试源文件中的库,但无济于事。我查看了使用他们的指令构建的.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一样。