[英]Maven looking for artifact in wrong location
我已经在我的一个EJB模块pom文件中为项目中的另一个模块声明了一个依赖项。
该项目的结构如下:
-- eS
|-- pom.xml
|-- eL
| |-- pom.xml
| |-- eLBO
| |-- eLDAO
| |-- eLBLImpl
| |-- eLEJB
| | |-- pom.xml
| | `-- src
| | `-- main
| | |-- java
| | | `-- eleague
| | | `-- ejb
| | `-- resources
| | `-- META-INF
| | |-- beans.xml
| | |-- persistence.xml
| | |-- (ejb-jar.xml)
| | `-- (jboss-ejb3.xml)
elBLImpl打包为JAR,我需要更新elEJB目录中的pom.xml文件,以便在elBLIMpl上添加依赖项。 我试过这个:
<dependency>
<groupId>${project.parent.groupId}</groupId>
<artifactId>elBLImpl</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
Maven说它无法找到模块:
Failure to find eS.eL:elBLImpl:jar:1.0-SNAPSHOT in http://my-repo-location
为什么它在回购中寻找elBLImpl,而不是在项目本身?
这部分是正确的:
eS.eL:elBLImpl
这是elEJB所依赖的模块。 但是为什么maven在外部回购中寻找,该模块是项目本身的一部分。 我不能太了解maven,对不起。 在我的EJB中,我需要在elBLImpl模块中创建类的实例。
只是一个猜测,因为我们需要更多的信息,但你是否安装了这个神工具来找到?
此外,您没有指定Maven应该查找特定依赖项的位置。 您只需定义所有存储库位置,Maven就会查看所有存储库位置,包括.m2
Maven本地存储库,以尝试查找它们。
Maven不关心你如何形成你的项目结构。 在构建工件之后,它将它放到本地存储库中。 并且每个项目(嵌套或非嵌套)只能从该存储库获取任何其他项目(如果没有定义其他存储库)。 因此,如果您在获取某些工件时遇到问题,但是您构建它 - 请检查该工件<parent>
, <artifactId>
和<version>
是否与您定义为依赖项相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.