【问题标题】:Maven error - cannot find symbol - on multimodule projectMaven 错误 - 在多模块项目上找不到符号
【发布时间】:2017-10-01 22:28:46
【问题描述】:

我通过以下链接从 exoplatform 下载了日历:https://github.com/exoplatform/calendar,我试图通过命令 mvn compile war:war 生成它的战争。如果我运行 mvn package 或 mvn install 它工作正常,但是当我添加 war:war 时,编译失败。

以下是错误:

[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[48,38] package org.exoplatform.calendar.model does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[49,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[50,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[51,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[52,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[53,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[54,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[55,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[56,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[57,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[58,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[59,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[115,18] cannot find symbol
[ERROR]   symbol:   class CalendarService
[ERROR]   location: class org.exoplatform.webservice.cs.calendar.CalendarWebservice
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[116,11] cannot find symbol
[ERROR]   symbol:   class ExtendedCalendarService
[ERROR]   location: class org.exoplatform.webservice.cs.calendar.CalendarWebservice
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[120,17] cannot find symbol
[ERROR]   symbol:   class CalendarService
[ERROR]   location: class org.exoplatform.webservice.cs.calendar.CalendarWebservice
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[134,29] cannot find symbol
[ERROR]   symbol:   class ExtendedCalendarService
[ERROR]   location: class org.exoplatform.webservice.cs.calendar.CalendarWebservice
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[330,49] cannot find symbol
[ERROR]   symbol:   class CalendarEvent
[ERROR]   location: class org.exoplatform.webservice.cs.calendar.CalendarWebservice
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[330,72] cannot find symbol
[ERROR]   symbol:   class FeedData
[ERROR]   location: class org.exoplatform.webservice.cs.calendar.CalendarWebservice
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[630,39] cannot find symbol
[ERROR]   symbol:   class CalendarSetting
[ERROR]   location: class org.exoplatform.webservice.cs.calendar.CalendarWebservice
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/webservice/cs/calendar/CalendarWebservice.java:[630,67] cannot find symbol
[ERROR]   symbol:   class CalendarEvent
[ERROR]   location: class org.exoplatform.webservice.cs.calendar.CalendarWebservice
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/calendar/ws/CalendarRestApi.java:[31,1] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/calendar/ws/CalendarRestApi.java:[32,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/calendar/ws/CalendarRestApi.java:[33,49] package org.exoplatform.calendar.service.Calendar does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/calendar/ws/CalendarRestApi.java:[34,45] package org.exoplatform.calendar.service.impl does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/calendar/ws/bean/CategoryResource.java:[22,40] package org.exoplatform.calendar.service does not exist
[ERROR] .../calendar-develop/calendar-webservice/src/main/java/org/exoplatform/calendar/ws/bean/CategoryResource.java:[33,33] cannot find symbol
[ERROR]   symbol:   class EventCategory
[ERROR]   location: class org.exoplatform.calendar.ws.bean.CategoryResource

主pom:https://drive.google.com/file/d/0BwWIlGx_c4cXM3puSVY2YTlDWE0/view?usp=sharing

返回的总是返回错误:https://drive.google.com/file/d/0BwWIlGx_c4cXWlptTkp0VF95YlU/view?usp=sharing

由于堆栈溢出字符限制,我将它们放在谷歌驱动器中。

我已经尝试过堆栈溢出的解决方案,例如检查依赖项执行 mvn clean install,但是每当我添加 war:war 它都会返回这些错误。

谁能帮帮我?

【问题讨论】:

  • 使用mvn installmvn package 是构建WAR 的正确方法。为什么你认为需要单独运行mvn war:war
  • 好的@SteveC 我尝试了你所说的,尽管昨天尝试了但没有成功,但今天它引发了一场战争,它的行为也相应地发生了。谢谢
  • 你在哪个分店结账?还是您自己添加了maven-war-plugin 配置? calendar-webservice 模块旨在成为包含在 calendar-webapp 中的 jar,这是构建为 WAR 的实际 Web 应用程序。

标签: java maven pom.xml multi-module


【解决方案1】:

是的。调用战争目标的正确方法是:

mvn compile war:war

现在,您仍然可以看到错误,看来一个项目可能依赖于另一个项目。而且,由于在本地存储库中找不到依赖项(因为您尚未在本地存储库中安装它),因此无法在类路径中添加依赖项,因此出现错误。

【讨论】:

  • 这不是您构建 WAR 文件的方式。当 pom.xml 中的打包设置为 war 时,Maven 会自动构建一个 WAR 文件。
  • 是的。同意。但正如题主问的那样,我给了他想要的答案。
猜你喜欢
  • 1970-01-01
  • 2016-01-12
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 2019-05-05
  • 2021-05-04
  • 2021-04-02
相关资源
最近更新 更多