【发布时间】:2014-07-08 08:22:16
【问题描述】:
我在我的 .m2 目录中找不到 javax.ejb.jar,我需要 import javax.ejb.Schedule; 的这个 jar,这是我的 pom 文件条目。
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>ejb-api</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
我不确定它是否会起作用,或者它是一种正确的做事方式。有人可以帮忙更改POM 文件,以便将javax.ejb.jar 下载到.m2 目录中。
更新
-
.m2我的意思是在正确文件夹中的存储库目录中 层次结构(无论它是什么)。 - 为什么?我们有多个子项目(在 eclipse 工作区中),为了解决依赖关系,我们使用 M2_REPO/path/to/the/required_library_file.jar,现在这些项目是代码库的一部分,每个开发人员都下载源代码,Maven 将所有 jar 下载到存储库目录(开发人员使用任何 OS/平台)。这个来自
M2_REPO的相对路径帮助开发人员拥有consitenat 代码(用于eclipse 项目)。否则每个人都会添加自己的路径。
如果仍然没有意义,这就是我想要的,请给我一个 POM 文件的条目,它将 javax.ejb.jar 文件下载到 .m2 目录中,无论子路径是什么。
我必须手动将这个 jar 包含在每个项目中(并且每个开发人员也需要它们从任何目录有 glassfish(C:、D:、E: 或 /home/glassfish/modules/)
D:\servers\glassfish-3.1.2\glassfish3\glassfish\modules\javax.ejb.jar
每个项目中的其余 jar 包都包含在 M2_REPO/path/to/jar 中,这样可以减少要提交的代码库的任何更改。
M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar
M2_REPO/javax/enterprise/cdi-api/1.0-SP1/cdi-api-1.0-SP1.jar
M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar
等等等等
【问题讨论】:
-
mvn clean compile -e时出现什么错误? -
为什么要在
.m2目录中?通常它会被下载到.m2/repository/<path to artifact> -
findjar.com/jar/org/apache/openejb/ejb31-api-experimental/3.1.1/… (不确定有多大用处,但 IDE 中的 findjar.com 或 maven 依赖项搜索很好。
-
你能展示整个POM吗?依赖项下添加依赖了吗?
-
@JoopEggen 范围不是这里的问题。
标签: java maven jakarta-ee jar