2015-10-29 8 views
6

Es scheint nur eine andere Frage dieser Art zu geben, here, aber die von dieser Antwort vorgeschlagene Lösung war für mich nicht effektiv . Ich verwende Spring Tool Suite (im Wesentlichen Kepler 4.3.2 SR2) als meine IDE, um ein OSGi-Fragment zu entwickeln, das die neueste Version von nativem C++ - Code enthält. Die Fragmente existieren, um die Möglichkeit verschiedener Versionen von Software zu ermöglichen, die in verschiedenen Umgebungen existieren, in die dieser native Code integriert werden soll."Unzufriedener nativer Codefilter" -Fehler beim Versuch, OSGi-Fragment in Eclipse mit benutzerdefiniertem vm zu exportieren

Allerdings kann ich dieses Fragment nicht exportieren, anscheinend aufgrund einer benutzerdefinierten vm arg, die wir verwenden, um diese Versionsnummer darzustellen.

Das Manifest sieht ungefähr so ​​aus:

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: Windows 64-bit support for Third-Party XYZ 4.12.7 
Bundle-SymbolicName: com.ourcompany.oursoftwarepackage.xyz.win64xyz4127 
Bundle-Version: 8.6.2.qualifier 
Bundle-Vendor: OurCompany 
Fragment-Host: com.ourcompany.oursoftwarepackage.xyz 
Bundle-RequiredExecutionEnvironment: JavaSE-1.6 
Eclipse-PlatformFilter: (& (osgi.os=win32) (osgi.arch=x86_64)) 
Bundle-NativeCode: xyzintegration.dll; selection-filter = "(oursoftwarepackage.xyzVersion=4.12.7)" 
Bundle-ClassPath: . 

Der Fehler sagt:

Verarbeitung Aufnahme von Feature org.eclipse.pde.container.feature: Bundle com.ourcompany.oursoftwarepackage .xyz.win64xyz4127_8.6.2.qualifier konnte nicht aufgelöst werden: Unzufriedener nativer Codefilter: xyzintegration.dll; selection-filter = "(oursoftwarepackage.xyzVersion = 4.12.7)".

Wenn ich die Auswahlfilterklausel entferne, scheint es zu exportieren, aber es wird kein tatsächliches Artefakt erzeugt.

Der Vorschlag, den ich aus der Verbindung oben hochgerechneten war die vmarg

-Doursoftwarepackage.xyzVersion=4.12.7 

im Plug-in-Entwicklung Zielumgebung aufzunehmen. Dies schien jedoch den OSGi-Rahmen nicht zu erfüllen. Jetzt bin ich ratlos, wie ich das Fragment lösen kann, damit der Export fortfahren kann.

+0

Sie sagen, dass Sie die vmarg in Ihrem PDE Ziel hinzugefügt Umgebung. Was bedeutet das? Verwenden Sie dieses vmarg beim Starten Ihrer Anwendung? –

+0

In der Zielumgebung gibt es eine Einstellung für vmargs. Ich habe dort das benutzerdefinierte Argument hinzugefügt. –

Antwort

0

Ich nehme an, Sie sprechen über die Einstellung der Zielumgebung des Zieldefinitionseditors. Zumindest ist das der einzige Ort, den ich für solch eine Umgebung kenne. Aber das ist die Definition des Ziels, gegen das Sie sich entwickeln. Es gibt keine Laufzeit an.

Sie müssen den VM-Parameter in der Run-Konfiguration festlegen.

Run -> Run-Konfigurationen ... -> die Anwendung starten wählen -> Wechseln Sie auf die Registerkarte Argumente -> den Wert auf die VM Argumente Abschnitt einfügen

Verwandte Themen