Maven避免了包括依赖关系



我有一个非常简单的问题,无论如何我都无法找到正确的答案。

我不确定是否可以使用Maven完成或与此有关 服务器部署,我只需要正确的方向来继续

我在野生狂热上部署应用程序,我们只是指向模块,我们在包装中没有任何依赖项。

以这种方式,我们确实必须反复为每个项目的内存中加载所有依赖项。我知道我们可以为依赖关系构建一个单独的模块,但是当我构建实际项目并包含依赖项模块时,所有依赖项都将包括在内(实际的罐子会增加尺寸(。我只需要指出有关驱动器的现有依赖项或使用服务器已部署的依赖项。

假设我们有POM以下的项目A和项目B

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
    </parent>
    <!-- Additional lines to be added here... -->
</project>

我不想将org.springframework.boot包含在两个项目中,而是在部署在服务器或可以由Bot A和B提供的A和B使用的单独模块C中引用本地回购jar文件。希望我足够清楚。任何帮助或建议都非常感谢。

首先,让我提醒您您的方法有一些缺点:如果您将依赖项放入服务器中,升级依赖项立即更改所有已部署的项目(因为他们依靠它(,那么您将所有项目紧密地连接。

,如果您希望服务器提供依赖关系,则需要将范围设置为provided。这意味着您需要查看由父pom(mvn dependency:list(定义的依赖项列表,然后在每个依赖项中在<dependencyManagement>中进行条目,并在构建时添加<scope>provided</scope>来过滤它们。

最新更新