2010-12-20 7 views
0

私はFlash Builder 4を使用しており、キューポイントで動作するVideoDisplayコンポーネントが必要です。 FlexのVideoDisplayに基づいているOSMFクラスの新しいバージョンは、これをすでに処理しています。このアイデアは、既存のVideoDisplayコンポーネントを猿にパッチするのではなく、私自身のVideoDisplayコンポーネントをロールバックすることです。これを行うために、新しいバージョンのOSMFクラスを含むプロジェクトと、別のパッケージ名で新しいVideoDisplayを構築する別のプロジェクトを作成しました。Flash Builderで競合するパッケージ名を解決する

問題は、Flex 4.1 SDKので、このような

Cに位置import org.osmf.media.MediaPlayer;参照クラスと元のパッケージ名、ステートメントを使用してOSMFクラスの大多数含まれていることである:\プログラムファイル\アドビ\ Adobe Flash Builderの 4.1.0 \枠組み\ 4つの\のSDK \ OSMFの新しいバージョンで

なくMediaPlayerのクラスを投影します。

OSMFプロジェクト内のパッケージの名前を変更して名前を明確にしようとしましたが、IDEから例外が発生しました(前提条件のチェック中に予期しない例外が発生しました。

SDKはいつも戦いで正当に勝つのですか?プロジェクトで、同じ名前のSDKクラスを使用してswc /プロジェクトへの参照を優先させる方法がありますか?

編集:コメントがあれば、私は明らかに問題を説明するうまくいっていません。それではここにもう一度行きます。

Flexは、VideoPlayer用の古いバージョンのOSMFプラットフォームを使用します。キューポイントのサポートを含む新しいバージョンを使用する必要があります。私は新しいOSMFソースをダウンロードしました。それはそれ自体のプロジェクトにあります。将来の保守性のために、このプロジェクトのパッケージの名前を変更する必要はありません。

私が実装するVideoPlayerはではありません。は、Flex SDKまたはOSMFのいずれかのパッケージ名を複製しています。この競合は、Flex SDKとOSMFの間にあり、私が構築するクラスとOSFMまたはSDKの間ではありません。私のプロジェクトは、OSMFプロジェクトのクラスにアクセスする必要がありますが、パッケージ名/クラス名の名前を持つFlex SDKのプロジェクトにはアクセスしません。 Flex SDKはOSMFに基づいているため、Flexはパッケージを残し、名前空間はそのままであるため、名前のあいまいさを認識します。

+0

独自のクラスにOSMFクラスと同じパッケージと名前を付けると、カスタムクラスがプロジェクトで優先されます。私はあなたがそうではないと言って驚いています。 – JeffryHouser

答えて

1

「Flexビルドパス」のFlex 4.1 SDKからOSMFを削除します。

+0

実際に私はまったく同じ問題を抱えていますが、Flex Build PathからOSMFを削除すると、osmf.swcの置き換えとして何を追加しても、プロジェクトはコンパイルされません(コンパイルする前にエラーがスローされます) – Cystack

2

独自の独自のパッケージ(逆ドメイン名)の下に独自の動画コンポーネントを配置しないのはなぜですか。それは多くの点でより良いでしょう。あなたをそのパッケージの作者として区別し、紛争を減らします。

+0

私が試していたものとまったく同じです。問題は、OSMFライブラリ全体を再作成しない限り、SDKのOSMFクラスではなく、OSMFライブラリを参照する必要があるということです。 OSMFを参照するビデオコンポーネントは、別のパッケージに含まれます。競合は、OSMFの新しいバージョンと、Flex SDKで使用されていた古いバージョンとの間にあります。彼らは80%等しいです。 – Laramie

+0

+1 @Laramieあなたの質問テキストに基づいて、あなたはこの回答が推奨する正反対のものを試しています。独自のクラスにフレームワーククラスとして正確な名前/パッケージを指定しようとしているようです。 Framework SWCでOSMFパッケージの名前を変更することは、私が試みることではありません。 – JeffryHouser

+0

私は "それを複製する"ではなく "参照する"と述べました。私は私の元の質問でより明確に説明しようとしました。しかし、フィードバックをありがとう。 – Laramie

関連する問題