Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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从nexus访问部署的库_Java_Maven - Fatal编程技术网

Java 使用maven从nexus访问部署的库

Java 使用maven从nexus访问部署的库,java,maven,Java,Maven,我的项目结构如下: projects | | | | | +--bom | | | | | +--pom.xml [The POM of bom:0.0.1-SNAPSHOT] | | | +--project1 | | | | | +--pom.xml [The POM of project1:0.0.1-SNAPSHOT] | | | +--project2 | | | | | +--pom.xml [The POM of project2:0.0.1-S

我的项目结构如下:

projects
|
|
|  |
|  +--bom
|  |  |
|  |  +--pom.xml [The POM of bom:0.0.1-SNAPSHOT]
|  |
|  +--project1
|  |  |
|  |  +--pom.xml [The POM of project1:0.0.1-SNAPSHOT]
|  |
|  +--project2
|  |  |
|  |  +--pom.xml [The POM of project2:0.0.1-SNAPSHOT]
我已将项目1的jar库部署到nexus,并尝试在项目2 pom中访问它,如下所示:

项目2:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.10.RELEASE</version>
</parent>

<artifactId>project2</artifactId>

<packaging>war</packaging>

<dependency>
            <groupId>com.test</groupId>
            <artifactId>project1</artifactId>
            <version>0.0.1-SNAPSHOT</version>
</dependency>

org.springframework.boot
spring启动程序父级
2.2.10.发布
项目2
战争
com.test
项目1
0.0.1-快照
项目1的POM:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.10.RELEASE</version>
    </parent>
    <groupId>com.test</groupId>
    <artifactId>project1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
<distributionManagement>

    <snapshotRepository>
        <id>deploy.snapshots</id>
        <url>
            <nexus server>
        </url>
    </snapshotRepository>
</distributionManagement>
<!-- Nexus Deployment -->

org.springframework.boot
spring启动程序父级
2.2.10.发布
com.test
项目1
0.0.1-快照
部署快照
我可以在project2的依赖关系树下看到com.test.project1:0.0.1-SNAPSHOT

但是,当我试图访问project2中project1的类(enumtypes.Activation.java)时,我得到错误:(3,51)java:package com.test.enumtypes不存在

不确定原因是什么。

正如@所建议的,有一种方法可以使用Spring启动应用程序作为依赖项。
与war文件一样,Spring引导应用程序不打算用作依赖项。如果您的应用程序包含要与其他项目共享的类,建议将该代码移动到单独的模块中。然后,您的应用程序和其他项目可以依赖单独的模块。

我在project1上安装了mvn clean,在project2上也安装了mvn clean-但是,一旦出现上述错误,project1是否是常规的Spring引导应用程序?如果是这样,请查看yes这是一个常规的Spring引导应用程序“如果您的应用程序包含要与其他项目共享的类,建议的方法是将该代码移动到单独的模块中。”虽然此链接可能会回答这个问题,最好在这里包括答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-