Здание REDHAWK Explorer/IDE
В настоящее время я пытаюсь собрать расширения REDHAWK Explorer с исходным кодом на github; однако, когда я пытаюсь запустить сценарии 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.xmls я должен строить?
2 ответа
К сожалению, мы не смогли разместить общедоступные репозитории p2. Это заполнители для будущего репозитория p2.
Вы можете обойти это, создав все репозитории и установив их в свой локальный репозиторий Maven.
Для этого клонируйте каждое из репозиториев Maven:
mil.jpeojtrs.sca
gov.redhawk.core
gov.redhawk.ide
gov.redhawk.codegen
gove.redhawk.ide.product
Как вы видели, в каждом репозитории вы найдете нужную папку.
Постройте, используя следующую команду в следующем порядке:
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, и вам больше не придется выполнять эти дополнительные действия. Приносим извинения за неудобства.
Следующий файл maven pom.xml должен помочь вам собрать пакет OSGi для jacorb. В этом пакете указана версия 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 удалите ссылку на репозиторий redhawk.sdr.org jacorb в разделе project.properties. Удалите репозиторий jacorb p2 из раздела project.repositories.
В конфигурации целевой платформы вам нужно будет использовать первую сборку 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 или новее, вам нужно изменить версию tycho в файле POM на 18.1
Наконец, установите zip-файл как архив в eclipse, и вы должны быть полностью заняты установкой mil.jpeojtrs.sca.
К сожалению... это не поможет вам с вашим первоначальным вопросом, потому что я не могу оставлять комментарии...