1

Confluence プラグイン プロジェクトがあり、Spring アノテーションを使用してサービス クラスのトランザクションを実装したいのですが、次のエラーが発生します。

[INFO] [talledLocalContainer]2014-05-23 13:12:06,298 ERROR [main][plugin.osgi.factory.OsgiPlugin] enableInternal Detected an error (BundleException) enabling the plugin 'mypackage'
: Unresolved constraint in bundle mypackage [176]: Unable to resolve 176.0: missing  requirement [176.0] package; (&(package=org.springframework.jdbc.datasource.DataSour
ceTransactionManager)(version>=2.5.6.SEC02)).  This error usually occurs when your      plugin imports a package from another bundle with a specific versio
n constraint and either the bundle providing that package doesn't meet those version   constraints, or there is no bundle available that provides the specified package.
For more details on how to fix this, see https://developer.atlassian.com/x/mQAN

コードは次のとおりです。

myconfigfile.xml

...
<!-- TRANSACTIONS CONF -->
    <!-- enable the configuration of transactional behavior based on annotations -->
    <tx:annotation-driven transaction-manager="txManager"/>

    <!-- PlatformTransactionManager -->
    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
<!-- TRANSACTIONS CONF END-->

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="url" value="${db.url}" />
    <property name="driverClassName" value="${db.driver}" />
    <property name="username" value="${db.user}" />
    <property name="password" value="${db.password}" />
</bean> 

<bean id="transactionAwareDataSource"
    class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
    <constructor-arg ref="dataSource" />
</bean>

<bean id="connectionProvider" class="org.jooq.impl.DataSourceConnectionProvider">
    <constructor-arg ref="transactionAwareDataSource" />
</bean>
...

サービスクラス

@Service
@Transactional
public class AdminServiceImpl implements AdminService<ProjectRecord> {

private IDao<ProjectRecord> dao;

@Autowired
public AdminServiceImpl(IDao<ProjectRecord> dao) {
    super();
    this.dao = dao;
    // TODO Auto-generated constructor stub
}

@Override
public void delete(Long id) {
    // TODO Auto-generated method stub
    dao.delete(id);
}

@Override
public void changeName(Long id, String newName) {
    // TODO Auto-generated method stub
    dao.update(dao.findbyId(id));
}

}

pom.xml

...
<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>2.5.6.SEC02</version>
        <scope>provided</scope>
</dependency>
...
...
<plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>maven-confluence-plugin</artifactId>
            <version>${amps.version}</version>
            <extensions>true</extensions>
            <configuration>
                <productVersion>${confluence.version}</productVersion>
                <productDataVersion>${confluence.data.version}</productDataVersion>
                <instructions>
                    <Import-Package>
                        org.springframework.jdbc.datasource.DataSourceTransactionManager;version="2.5.6.SEC02"
                    </Import-Package>
                </instructions>
            </configuration>
        </plugin>
        <plugin>

参照ライブラリの私のプロジェクトには、適切なライブラリがあります。

ここに画像の説明を入力

それは私が間違っているのですか?

4

1 に答える 1