以下 maven pom.xml 应该可以帮助您构建您的 jacorb OSGi 包。此捆绑包指定版本 3.3.0,因为 RH 1.10 取决于该版本,但您可以根据需要对其进行修改:
<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 repo 的引用。从 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
最后,在 Eclipse 中将 zip 文件作为存档安装,您应该已经完全了解了 mil.jpeojtrs.sca 安装。
不幸的是......这对你原来的问题没有任何帮助,因为我不能发表评论,所以在这里重新提出......