Sembra esserci solo un'altra domanda di questo tipo, here, ma la soluzione suggerita da quella risposta non è stata efficace per me . Sto usando Spring Tool Suite (essenzialmente Kepler 4.3.2 SR2) come IDE per sviluppare un frammento OSGi che contiene l'ultima versione di un codice C++ nativo. I frammenti esistono per consentire la possibilità di versioni diverse del software esistenti in ambienti diversi con cui questo codice nativo è destinato a integrarsi.Errore "filtro nativo insoddisfatto" quando si tenta di esportare il frammento OSGi in Eclipse con vm arg personalizzato
Tuttavia non riesco a esportare questo frammento, apparentemente a causa di un vm arg personalizzato che usiamo per rappresentare questo numero di versione.
Il manifesto simile a questa:
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: .
L'errore dice: inclusione
elaborazione dal caratteristica org.eclipse.pde.container.feature: Bundle com.ourcompany.oursoftwarepackage .xyz.win64xyz4127_8.6.2.qualifier non riuscito a risolvere .: Filtro codice nativo non soddisfatto: xyzintegration.dll; selection-filter = "(oursoftwarepackage.xyzVersion = 4.12.7)".
Se rimuovo la clausola del filtro di selezione, sembra esportare ma non esiste alcun artefatto prodotto.
Il suggerimento ho estrapolato dal link qui sopra è stato quello di includere il vmarg
-Doursoftwarepackage.xyzVersion=4.12.7
nell'ambiente di destinazione plug-in fase di sviluppo. Ciò, tuttavia, non sembrava soddisfare il quadro OSGi. Ora sono in perdita su come ottenere il frammento da risolvere in modo che l'esportazione possa procedere.
Tu dici che è stato aggiunto il vmarg nel vostro target PDE ambiente. Cosa significa? Stai usando questo vmarg all'avvio dell'applicazione? –
Nell'ambiente di destinazione è disponibile un'impostazione per vmargs. Ho aggiunto l'argomento personalizzato lì. –