我在我的osgi应用程序中使用了querydsl库。工件querydsl-jpa将hibernate-jpa-2.0-api作为依赖项。
我在我的pom中添加了这样的排除.xml因为我不使用Hibernate。当我尝试启动我的服务(通过karaf功能.xml文件)时,我得到这个:
执行命令时出错:无法在功能中启动捆绑包 mvn:com.mysema.querydsl/querydsl-jpa/2.5.0 在 feature querydsl-jpa-2.5.0: 未解决捆绑包中的约束 com.mysema.querydsl.jpa [223]: 无法解决 223.0: 缺少要求 [223.0] 包;(
mvn项目依赖项:树不返回任何hibernate依赖项。这是否意味着即使明确排除了依赖项,osgi依赖项也仅由querydsl包的清单文件确定?
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>2.5.0</version>
<exclusions>
<exclusion>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
</exclusion>
</exclusions>
</dependency>
以及features.xml的摘录
<feature name='querydsl-jpa' version='2.5.0'>
<bundle>mvn:org.apache.felix/org.osgi.compendium/1.4.0</bundle>
<bundle>mvn:org.apache.geronimo.specs/geronimo-jpa_2.0_spec/1.1</bundle>
<bundle>mvn:com.mysema.querydsl/querydsl-core/2.5.0</bundle>
<bundle>mvn:com.mysema.commons/mysema-commons-lang/0.2.2</bundle>
<bundle>mvn:com.mysema.querydsl/querydsl-sql/2.5.0</bundle>
<bundle>mvn:com.mysema.querydsl/querydsl-jpa/2.5.0</bundle>
</feature>
pom.xml决定了在构建时发生的情况,而不是在运行时。很容易混淆在 pom 中声明的依赖项和在清单中声明的依赖项,因为两者似乎都涉及依赖项,但实际上它们非常不同。OSGi 运行时不知道也不关心 maven,所以它从不查看你的 pom 文件。OSGi 就依赖关系进行通信的方式是通过清单。显然,pom 中的内容会影响清单中的内容,但仅限于您构建的捆绑包。在这里,您没有重新生成 querydsl 捆绑包,因此清单是随附的清单。
如果该捆绑包声明了对hibernate的依赖,那么您应该假设它确实需要Hibernat。如果您确定依赖项是可选的,您应该向捆绑包的所有者报告错误。在等待修复时,您可以选择重建捆绑包,向hibernate捆绑包添加<code>optional=true
问题内容: 我有一个项目,该项目依赖于由供应商控制的工件。该工件包含一些我依赖的类,其中一些类较旧并且会引起问题。有没有办法让Maven自动扩展jar,删除类并将它们重新打包为依赖项?我会举一个例子。 所以- 我需要使用在项目网站,但我需要使用从神器。我无法修改Supplier:artifact或us:dependency。 有任何想法吗?! 问题答案: 从版本2.0.9开始,maven保留了类路
谁能告诉我Maven中的依赖项Hamcrest有什么问题吗?这是一个遗憾,但我不能在这里附上截图。 当我试图更新Maven索引时,什么也没有发生。
我在我的项目中遇到了依赖关系冲突的问题。特别是,slf4j日志记录有两种实现:slf4j-简单和logback-经典,我得到了 在运行时。 logback-classic对我来说是必备的依赖项(因为dropwizard),但slf4j-simple不是真的,我想把它从我的uber项目中去掉。只是没那么容易。 我的“uber jar”依赖于“small jar”,而“small-jar”又依赖于“s
我有一个编译和运行时所需的依赖项,但我想在运行测试时将其排除。这可能吗?也许,通过设置个人资料?但是,如何仅在生命周期阶段停用它?
我正在尝试解决我的eclipse项目中的maven依赖项。 依赖项已经下载到我的maven dependencies文件夹中(如下所示) 然而,import语句仍然没有解析。 在我的java构建路径中,存在Maven Dependencies文件夹。 到目前为止,我已经尝试在命令行上重建项目并在eclipse中刷新它;我尝试在eclipse中重建它;我尝试在eclipse中更新项目。 似乎什么都没
在我的