spring - 多模块 maven 项目 - 将一个模块用作依赖项
问题描述
我给出了以下结构(Maven + Spring)。对于DependencyService
我只对某些模型(Java 类,我想重用而不仅仅是复制和粘贴)感兴趣。由于一些 docker 的东西我无法DependencyService
从 eclipse 运行,我必须设置几件事。这就是为什么我只想使用类而不包括整个项目的原因。
给定以下结构:
MainFolder
|
----MainApplication
|
----Backend1
|
----pom.xml
|
----Backend2
|
----pom.xml
|
----DependencyService
|
----someModelsAreInHere
|
----pom.xml
|
----pom.xml
目前 pom 的相关部分如下所示:
主文件夹 Pom
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
</parent>
<modules><module>Backend1</module><module>Backend2</module></modules>
...
<!-- root pom settings -->
<groupId>GROUP</groupId>
<artifactId>MainProject</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<name>MainProjectName</name>
...
<!-- Manages Dependencies -->
<dependencyManagement>
<dependencies>
<dependency> <!-- Import the dependency here -->
<groupId>GROUP.MainProject</groupId>
<artifactId>DependencyService</artifactId>
<version>${dependency.service.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
... </project>
以Backend1为例,Backend1、Backend2和DependencyService的pom.xml看起来很相似。
<!-- Inherit defaults from MainFolder -->
<parent>
<artifactId>MainProject</artifactId>
<groupId>GROUP</groupId>
<version>${revision}</version>
</parent>
<!-- data-processor pom settings -->
<groupId>GROUP</groupId>
<artifactId>backend1</artifactId>
<name>Backend1Name</name>
<packaging>jar</packaging>
<version>${revision}</version>
<!-- Add required dependencies -->
<dependencies>
<!-- include DependencyService here but JUST for the classes, not for compiling! -->
<dependency>
<groupId>GROUP.MainProject</groupId>
<artifactId>dependencyService</artifactId>
</dependency>
</dependencies>
问题
如何在编译 Backend1 和 Backend2 时包含使用其中的类但不编译它DependencyService
?(因为它不会在没有 docker 等的情况下编译...)Backend1
Backend2
解决方案
推荐阅读
- sonos - Sonos 播放器在评分项目后未调用 getExtendedMetadata
- asp.net-mvc - 根据长度格式化 TimeSpan 的最佳方法 [ASP.NET Core MVC]
- javascript - 将 md-fab-toolbar 与 ng-repeat 一起使用
- c# - 我的子弹随机产生并且没有伤害
- python - 为什么networkx每次运行都会重绘我的图表?
- c - 孩子之间的管道
- cassandra - 快速失败 Cassandra NTR 阻止的任务
- linux - Docker Xdebug LAN / 公共开发服务器
- answer-set-programming - 如何生成固定大小的事实列表(包括重复项)?
- c# - 加载窗口时如何使组合框显示列表中的默认项