我已经开发了spring Boot 微服务,负责用户身份验证和授权。现在,作为最后一步,我想将这些微服务dockerize。要做到这一点,我需要每个微服务都有其目标文件夹和jar文件。为了做到这一点,我使用maven clean,然后在我的ide中使用maven install。对于所有微服务,它都工作正常,除了identity-service。所以,有一个微服务amqp(消息队列),它负责rabbit mq配置以及发布消息。身份服务(目前唯一的一个),使用amqp类RabbitMQMessageProducer发布消息。在其pom文件中,有一个依赖项:
<dependency>
<groupId>com.tradebit</groupId>
<artifactId>amqp</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
字符串
所以,一切正常,identity-service成功地与amqp交互,消息被发布,没有错误等。但是,当我运行maven install时,我得到一个错误cannot find symbol。所以,它可能无法识别amqp依赖项或idk。Amqp target folder如屏幕截图所示。
我尝试重新导入依赖项,多次执行amqp和身份服务的干净安装。问题仍然存在。
1条答案
按热度按时间k7fdbhmy1#
我可以猜测
amqp
模块是一个常见的模块,基于它和项目结构/想法,作为解决这个问题的修复,当谈论mvn install
命令的compile
阶段时。在
pom.xml
文件末尾的amqp
模块上添加下一个构建插件:字符串
它只会为模块创建另一个
.jar
,其中将排除Main Class
。同样在
identity-service
中,你必须声明amqp
依赖项为下一个:型
它将在编译时修复这个问题。
另外,我是如何知道maven不允许依赖于可执行的
jar.
的amqp
模块是一个可执行的Sping Boot 应用程序。