2015-10-29 34 views
6

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.

+0

Tu dici che è stato aggiunto il vmarg nel vostro target PDE ambiente. Cosa significa? Stai usando questo vmarg all'avvio dell'applicazione? –

+0

Nell'ambiente di destinazione è disponibile un'impostazione per vmargs. Ho aggiunto l'argomento personalizzato lì. –

risposta

0

Suppongo che parli dell'impostazione dell'ambiente di destinazione dell'editor di definizione di destinazione. Almeno questo è l'unico posto che conosco per un ambiente del genere. Ma questa è la definizione dell'obiettivo che stai sviluppando contro. Non specifica il runtime.

È necessario impostare il parametro VM nella configurazione Esegui.

Run -> Run Configurazioni ... -> Selezionare l'applicazione per iniziare -> Passare alla scheda Argomenti -> inserire il valore per la sezione argomenti VM