0

現在、github のソースを使用して REDHAWK Explorer 拡張機能を構築しようとしています。ただし、Maven スクリプトを実行しようとすると、リポジトリが見つからないというエラーが発生します。

Caused by: org.eclipse.equinox.p2.core.ProvisionException: No repository found at http://download.redhawksdr.org/nxm-rcp/releases/1.0.

redhawksdr.org でホストされているリポジトリだと思います。これはアップすべきものですか?nxm がhttp://nextmidas.techma.com/を指していることは知っています。これは Redhawk チームによって開発された内部プラグインですか? また、リポジトリにもありますか?

さらに、どの pom.xml から構築する必要がありますか?

4

2 に答える 2

0

次の maven pom.xml は、jacorb OSGi バンドルの構築に役立ちます。RH 1.10 はそのバージョンに依存しているため、このバンドルではバージョン 3.3.0 が指定されていますが、必要に応じて変更することもできます。

<project xmlns="http://maven.apache.org/POM/4.0.0">
<groupId>**yourGroupId**</groupId>
<modelVersion>4.0.0</modelVersion>
<artifactId>jacorb-osgi</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>jacORB OSGI bundle</name>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>1.4.0</version>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                    <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
                    <Bundle-Name>${project.name}</Bundle-Name>
                    <Bundle-Version>3.3.0</Bundle-Version>
                    <Export-Package>org.omg.CosEventChannelAdmin;version="3.3.0", org.omg.CosEventComm;version="3.3.0"</Export-Package>
                    <Private-Package>org.omg.*,org.jacorb.*</Private-Package>
                    <Import-Package>!antlr,!antlr.*,!org.picocontainer,!org.picocontainer.defaults,!org.slf4j,!sun.security.jgss.spi,!org.tanukisoftware.wrapper,*</Import-Package>
                </instructions>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
            <groupId>org.jacorb</groupId>
            <artifactId>jacorb</artifactId>
            <version>3.3</version>
            <exclusions>
                <exclusion>
                    <groupId>antlr</groupId>
                    <artifactId>antlr</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>picocontainer</groupId>
                    <artifactId>picocontainer</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-jdk14</artifactId>
                </exclusion>
    </exclusions>
    </dependency>
    <dependency>
            <groupId>org.jacorb</groupId>
            <artifactId>jacorb-services</artifactId>
            <version>3.3</version>
            <exclusions>
                <exclusion>
                    <groupId>antlr</groupId>
                    <artifactId>antlr</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.ant</groupId>
                    <artifactId>ant</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>picocontainer</groupId>
                    <artifactId>picocontainer</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-jdk14</artifactId>
                </exclusion>
    </exclusions>
    </dependency>
</dependencies>
</project>

このバンドルをローカルにインストールするには:

mvn clean install

eclipse-mil.jpeojtrs.sca/releng/pom.xml で、project.properties セクションの redhawk.sdr.org jacorb リポジトリへの参照を削除します。project.repositories セクションから jacorb p2 リポジトリを削除します。

ターゲット プラットフォームの構成では、Eric が参照する Tycho POM の最初のビルドを使用する必要があります。最終的には次のようになります (太字の行に注意してください)。

<plugin>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>target-platform-configuration</artifactId>
    <version>${tycho-version}</version>
    <configuration>
      **<pomDependencies>consider</pomDependencies>**
      <environments>
        <environment>
          <os>linux</os>
          <ws>gtk</ws>
          <arch>x86</arch>
        </environment>

mil.jpeojtrs.sca/plugins/idl.cf/META-INF/MANIFEST.MF で、jacorb のバンドル要件を削除します。バンドルは既にローカルにインストールされているため、COsEventChannelAdmin パッケージをインポートするだけで十分です。

最後に、mil.jpeojtrs.sca/releng に移動して実行します。

mvn clean package

maven3.1 以降を使用している場合は、POM ファイル内の tycho のバージョンを 18.1 に変更する必要があることに注意してください。

最後に、zip ファイルをアーカイブとして Eclipse にインストールすると、mil.jpeojtrs.sca のインストールに追いつくはずです。

残念ながら...これは、コメントを残すことができないため、ここで再質問された元の質問に関してどこにも行きません...

于 2014-05-16T19:09:47.390 に答える
0

残念ながら、公開の p2 リポジトリをホストすることはできませんでした。これらは、将来の p2 リポジトリのプレースホルダーです。

すべてのリポジトリを構築し、それらをローカルの Maven リポジトリにインストールすることで、これを回避できる場合があります。

これを行うには、各 Maven リポジトリを複製します。

mil.jpeojtrs.sca
gov.redhawk.core
gov.redhawk.ide
gov.redhawk.codegen
gove.redhawk.ide.product

見てきたように、各リポジトリには releng フォルダがあります。

次のコマンドをこの順序で使用してビルドします。

mvn clean install

mil.jpeojtrs.sca/releng
gov.redhawk.core/releng/core
gov.redhawk.core/releng/rcp
gov.redhawk.ide/releng
gov.redhawk.codegen/releng
gov.redhawk.ide.product/releng

願わくば、将来、公開の p2 リポジトリを取得し、これらの追加の手順を実行する必要がなくなることを願っています。ご不便おかけしてすみません。

于 2013-11-06T15:15:52.137 に答える