【发布时间】:2019-10-10 18:56:59
【问题描述】:
我正在学习 docker 来使用我的 Spring Boot 应用程序。我无法加载依赖项目的快照版本。 我有两个项目,项目 A 和项目 B。
这是我的 docker-compose 文件
version: '2.1'
services:
projectA:
build:
context: ./projectA
dockerfile: Dockerfile
restart: always
working_dir: /app
command: mvn clean install
projectB:
build:
context: ./projectB
dockerfile: Dockerfile
restart: always
working_dir: /app
command: mvn clean spring-boot:run
这会生成快照 Jar 项目A-1.1.0-SNAPSHOT.jar
我想在projectB中使用这个jar(Spring Boot Application)
我怎样才能在POM.xml中指向你这个本地jar
我的 POM 应该有
<dependency>
<groupId>com.project.test</groupId>
<artifactId>projectA</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
由于 SNAPSHOT 版本的更改,我在加载 projectB 时遇到错误。
谢谢,
这是我做 docker-compose up --build 时的输出
[ERROR] COMPILATION ERROR :
[INFO] ----------------------------
[ERROR].../com/project/test/api/assembler/UserMapper.java:
[57,54] cannot find symbol
symbol: method getLastSessionTimestamp()
location: variable user of type com.project.test.domain.User
lastSessionTimestamp 被添加到本地 SNAPSHOT Jar 中。
【问题讨论】:
-
你能粘贴错误吗?
-
无法编译 projectB 因为更改是在 projectA 中进行的本地 jar 不在 repo 中。
-
你能先
mvn clean installProjectA 的文件夹吗? -
嗨 Mahendran,我能够生成 projectA jar,但是如何将该 jar 放入 projectB 依赖项中?
-
转到本地 maven 存储库,查看是否有 projectA 的 1.1.0-SNAPSHOT 文件夹
标签: spring-boot docker docker-compose