Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解决maven多模块依赖性问题?它';安装后,不从本地m2导入_Java_Maven_Microservices_Pom.xml_Maven Plugin - Fatal编程技术网

Java 如何解决maven多模块依赖性问题?它';安装后,不从本地m2导入

Java 如何解决maven多模块依赖性问题?它';安装后,不从本地m2导入,java,maven,microservices,pom.xml,maven-plugin,Java,Maven,Microservices,Pom.xml,Maven Plugin,我有一个包含两个模块的项目。父POM如下所示: <?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 h

我有一个包含两个模块的项目。父POM如下所示:

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>bc</artifactId>
    <packaging>pom</packaging>
    <version>1.3-SNAPSHOT</version>

    <modules>
        <module>njoy</module>
        <module>api</module>
    </modules>

</project>
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>bc</artifactId>
        <groupId>org.example</groupId>
        <version>1.3-SNAPSHOT</version>
    </parent>


    <modelVersion>4.0.0</modelVersion>

    <artifactId>njoy</artifactId>
    <packaging>jar</packaging>

</project>
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>bc</artifactId>
        <groupId>org.example</groupId>
        <version>1.3-SNAPSHOT</version>
    </parent>


    <modelVersion>4.0.0</modelVersion>

    <artifactId>api</artifactId>
    <packaging>jar</packaging>

</project>
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>experiments</artifactId>
    <version>1.0-SNAPSHOT</version>


    <dependencies>
        <dependency>
            <groupId>org.example</groupId>
            <artifactId>bc</artifactId>
            <version>1.3-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>org.example</groupId>
            <artifactId>klk</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

</project>

4.0.0
org.example

这是我的另一个项目,我使用它作为依赖项,它的POM如下所示:

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>bc</artifactId>
    <packaging>pom</packaging>
    <version>1.3-SNAPSHOT</version>

    <modules>
        <module>njoy</module>
        <module>api</module>
    </modules>

</project>
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>bc</artifactId>
        <groupId>org.example</groupId>
        <version>1.3-SNAPSHOT</version>
    </parent>


    <modelVersion>4.0.0</modelVersion>

    <artifactId>njoy</artifactId>
    <packaging>jar</packaging>

</project>
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>bc</artifactId>
        <groupId>org.example</groupId>
        <version>1.3-SNAPSHOT</version>
    </parent>


    <modelVersion>4.0.0</modelVersion>

    <artifactId>api</artifactId>
    <packaging>jar</packaging>

</project>
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>experiments</artifactId>
    <version>1.0-SNAPSHOT</version>


    <dependencies>
        <dependency>
            <groupId>org.example</groupId>
            <artifactId>bc</artifactId>
            <version>1.3-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>org.example</groupId>
            <artifactId>klk</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

</project>

4.0.0
org.example

请帮忙。我错过了什么


提前谢谢

工件
bc
只是带有一些模块的pom。它不能用作依赖项。您可能认为可以通过引用父POM来引用“所有工件”。这是不可能的


工件
njoy
api
是JAR——它们可以用作另一个项目的依赖项。

感谢您的回复。所以你告诉我,当我想引用某个多模块项目时,我必须将每个模块作为依赖项添加?或者有没有一种方法可以用一个依赖项来实现这一点?我的建议与其他情况相同:添加项目中实际需要的所有依赖项(例如,因为您在源代码中使用了它们)。如果您只需要其中一个模块,只需添加该模块即可。没有一种机制可以一次添加多模块项目的所有模块,但我不明白你为什么需要它。有任何疑问或问题吗?哦,是的,我正忙着检查要点。让我们假设一个场景,我在一个项目中有10个模块(比如银行),出于某种原因,我需要与它们交互以提取、存款、计算利息等。我必须将它们中的每一个作为依赖项添加?或者有没有任何方法可以将它们捆绑起来,并提供一个依赖项?不,胖罐子并不意味着依赖项,只适用于独立应用程序。我的意思是,如果你总是需要所有的功能,你可以把你的模块合并成一个。