2

SpringとAspectJを多用したspring-rooを使ってドメインモデルを作成しました。私のモデルはOSGiバンドルとしてうまくデプロイされており、Spring STS(Eclipseベース)IDEから、エンティティークラスなどを呼び出すことができます。

Eclipse RCP / RAPアプリケーションからこれらのドメインクラスにアクセスする必要があります。このプロジェクトは、RCP /RAP開発用に通常のEclipseIDEに保持されます(つまり、すべてのPDEツールがあります)。STSプラグインとAspectJプラグインも追加しました。

ドメインバンドルをターゲットプラットフォームに追加し、EclipseRAPアプリをそれに依存させました。RAPアプリケーションを実行すると、ドメインバンドルがOSGiにデプロイされている(つまり、アクティブである)ことがわかります。また、依存関係を追加したときに、PDEエディターに存在することもわかります。

ただし、ドメインクラスのいずれかをインポートして使用しようとすると、何も取得されません。Javaファイルエディタからドメインパッケージを見ることさえできません。

RAPプロジェクトにAspectJとSpringの性質を追加しようとしましたが、それでも何もありません。

また、Eclipse RAPアプリケーションを実行すると、次の例外をスローするRAPアプリケーションを除いて、すべてが正常にデプロイされます。

2010年3月2日2:44:58AMorg.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions情報:URLからのXMLBean定義のロード[bundleentry://168.fwk1096264275/META-INF/spring/applicationContext.xml]例外スレッド「SpringOsgiExtenderThread-2」java.lang.IllegalStateException:BeanFactoryが初期化されていないか、すでに閉じられています-org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:171)のApplicationContextを介してBeanにアクセスする前に「refresh」を呼び出します。 org.springframework.osgi.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.close(DependencyWaiterApplicationContextExecutor.java:345)(org.springframework.osgi.extender.internal.dependencies.startup)。org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:287)のDependencyWaiterApplicationContextExecutor.fail(DependencyWaiterApplicationContextExecutor.java:401)org.springframework.osgi。 org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:175)at org.springframework.osgi.extender.internal.activatorのDependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:175) .java:718)at java.lang.Thread.run(Thread.java:637)401)org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:287)at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyW 175)org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:175)at org.springframework.osgi.extender.internal.activator.ContextLoaderListener $ 2.run(ContextLoaderListener.java:718)atjava。 lang.Thread.run(Thread.java:637)401)org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:287)at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyW 175)org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:175)at org.springframework.osgi.extender.internal.activator.ContextLoaderListener $ 2.run(ContextLoaderListener.java:718)atjava。 lang.Thread.run(Thread.java:637)287)org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:175)at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecution .springframework.osgi.extender.internal.activator.ContextLoaderListener $ 2.run(ContextLoaderListener.java:718)at java.lang.Thread.run(Thread.java:637)287)org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:175)at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecution .springframework.osgi.extender.internal.activator.ContextLoaderListener $ 2.run(ContextLoaderListener.java:718)at java.lang.Thread.run(Thread.java:637)springframework.osgi.extender.internal.activator.ContextLoaderListener $ 2.run(ContextLoaderListener.java:718)at java.lang.Thread.run(Thread.java:637)springframework.osgi.extender.internal.activator.ContextLoaderListener $ 2.run(ContextLoaderListener.java:718)at java.lang.Thread.run(Thread.java:637)

どんな助けでも大歓迎です。

4

1 に答える 1

1

Roo プロジェクトを jar にビルドするのではなく、RCP プロジェクトからこのプロジェクトを参照するようにしてください。

于 2011-02-21T05:42:10.180 に答える