我尝试了启用和int blueprint.xml但是我有错误。这是我的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:jpa="http://aries.apache.org/xmlns/jpa/v2.0.0"
xmlns:tx="http://aries.apache.org/xmlns/transactions/v2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://aries.apache.org/xmlns/jpa/v2.0.0
http://aries.apache.org/xmlns/transactions/v2.0.0 ">
<jpa:enable/>
<tx:enable-annotations/>
<service ref="userService" interface="domain.access.UserService"/>
<bean id="userService" class="domain.access.impl.UserServiceImpl" scope="singleton">
</bean>
</blueprint>
这是我在pom.xml中的依赖项我包含了所有libs mabe我忘了somthing
<dependencies>
<dependency>
<groupId>sqljdbc41</groupId>
<artifactId>sqljdbc41</artifactId>
<version>4.1</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.commons-dbcp</artifactId>
<version>1.4_3</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jpa_2.0_spec</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-validation_1.0_spec</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jta_1.1_spec</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>kg.nurtelecom</groupId>
<artifactId>access-module-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>domain</groupId>
<artifactId>platform-common</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
当我开始捆绑时,我有宽限期和日志
2016-03-05 12:34:37,732 | INFO | l for user karaf | BlueprintContainerImpl | 15 - org.apache.aries.blueprint.core - 1.4.4 | Bundle kg.nurtelecom.access.module.impl/1.0.0 is waiting for name
space handlers [http://aries.apache.org/xmlns/jpa/v2.0.0, http://aries.apache.org/xmlns/transactions/v2.0.0]
答案 0 :(得分:1)
在事务2.0.0命名空间中,xml元素名为<tx:enable/>
而不是<tx:enable-annotations/>
。这与您描述的错误无关。
错误表明您没有安装正确的Aries JPA软件包。请务必安装this example中的所有必要功能。
pom中的依赖项仅涵盖构建时间。在运行时,您必须将依赖项作为karaf功能或单个包提供。
另外请确保使用最新的Apache Karaf。较旧的版本不包括aries transaction 2.0.0 bundle。