以下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因爲我不能發表評論...
我較快地遇到了一個新問題:一個jacorb庫失蹤以及;這一次,我在git中的倉庫中搜索它,並找不到任何相關的jacorb項目。 但是,Google顯示了jacorb版本3.1的結果,然後我編輯了pom以用作依賴關係。這似乎擺脫了這個問題;然而,一個新的立即產生(仍mil.jpeojtrs.sca/releng)。 – Netrunner
依賴關係'缺少需求:idl.bulkio 1.9.0.qualifier需要'package org.omg.CosEventChannelAdmin 0.0.0',但找不到'。另一個快速Google似乎主要包含Javadocs;我在我的java類路徑中錯過了什麼? – Netrunner
我忘了那個。這些類/包來自jacorb。我們在捆綁中重新包裝了jacorb。爲避免直接依賴jacorb,我們只添加了org.omg.CosEventChannelAdmin包依賴項。 –