【发布时间】:2012-05-02 12:02:18
【问题描述】:
我一直在尝试在一个 osgi 包的项目中使用 querydsl。 我的 pom.xml 具有以下依赖项:
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>2.5.0</version>
</dependency>
还有插件
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>0.3.2</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.ops4j</groupId>
<artifactId>maven-pax-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<!-- | the following instructions build a simple set of public/private
classes into an OSGi bundle -->
<configuration>
<instructions>
<Import-Package>com.mysema.query.jpa,*</Import-Package>
<Export-Package>com.mypackage.package.*;version="${project.version}"</Export-Package>
</instructions>
</configuration>
</plugin>
当我尝试启动我得到的包时:
Error executing command: Unresolved constraint in bundle com.mypackage.package [163]: Unable to resolve 163.0: missing requirement [163.0] package; (&(package=com.mysema.query.jpa)(version>=2.5.0)(!(version>=3.0.0)))
我使用的是旧版本的 querydsl,但显然他们最近修复了一些 stuff about osgi,所以我升级了。问题仍然存在。
querydsl 在 osgi 中工作时缺少什么?
【问题讨论】:
-
querydsl-jpa 包有很多依赖项(直接的和暂时的),我假设您已经加载了所有这些并且 querydsl-jpa 包已经启动?
-
没有。你说的对。我是 osgi 的新手,我假设在 karaf 控制台中执行 osgi:instal mvn..... 我会解决所有依赖项。显然不是