2013-11-04 128 views
0

我目前正在嘗試使用github上的源構建REDHAWK資源管理器擴展;然而,當我嘗試運行事情Maven的腳本,我得到一個丟失的資料庫錯誤:構建REDHAWK資源管理器/ IDE

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.xmls?

回答

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存儲庫,你將不再需要做這些額外的步驟。抱歉給你帶來不便。

+0

我較快地遇到了一個新問題:一個ja​​corb庫失蹤以及;這一次,我在git中的倉庫中搜索它,並找不到任何相關的jacorb項目。 但是,Google顯示了jacorb版本3.1的結果,然後我編輯了pom以用作依賴關係。這似乎擺脫了這個問題;然而,一個新的立即產生(仍mil.jpeojtrs.sca/releng)。 – Netrunner

+0

依賴關係'缺少需求:idl.bulkio 1.9.0.qualifier需要'package org.omg.CosEventChannelAdmin 0.0.0',但找不到'。另一個快速Google似乎主要包含Javadocs;我在我的java類路徑中錯過了什麼? – Netrunner

+0

我忘了那個。這些類/包來自jacorb。我們在捆綁中重新包裝了jacorb。爲避免直接依賴jacorb,我們只添加了org.omg.CosEventChannelAdmin包依賴項。 –

0

以下maven pom.xml應該可以幫助您構建您的jacorb OSGi包。這個捆綁指定版本3.3.0,因爲RH 1.10取決於版本,但你也許可以修改您的需求:

mvn clean install 

在Eclipse-MIL:

<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> 

本地與安裝這個套件.jpeojtrs.sca/releng/pom.xml在project.properties部分刪除對redhawk.sdr.org jacorb repo的引用。 從project.repositories部分刪除jacorb p2存儲庫。

在目標平臺配置,你需要使用第谷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文件到18.1

最後,在eclipse中安裝壓縮文件作爲壓縮文件,並且你應該全部抓住你的mil.jpeojtrs.sca安裝。

不幸的是......這還不能讓你關於你原來的問題在任何地方,老師又問道here因爲我不能發表評論...