Domanda

Sto lavorando a un progetto di visualizzazione di codice sorgente che utilizza il Elaborazione della libreria principale. La libreria di elaborazione ha la possibilità di utilizzare la libreria OpenGL jogl per rendere la grafica che migliora davvero le prestazioni. Tuttavia, i file JNI che jogl utilizza non sono necessariamente disponibili in fase di esecuzione, a seconda di chi sta usando il progetto e su quale piattaforma.

Al momento è sufficiente specificare all'utente se desidera utilizzare OpenGL, ma sarebbe ovviamente molto più bello se potessimo utilizzare OpenGL per impostazione predefinita e tornare al rendering del software solo quando non è disponibile. Le librerie di elaborazione non sembrano essere così facili, dovresti specificare un renderer solo una volta, e cambiare renderer dà & # 8230; comportamento nuovo.

Qualche idea su come capire se i JNI necessari per jogl sono disponibili e funzionanti in fase di esecuzione?

È stato utile?

Soluzione

Semplicemente prova a caricare la classe con ClassLoader usando loadClass e rileva un'eccezione ClassNotFound e UnsatisfiedLinkError per eseguire la funzionalità di fallback.

Altri suggerimenti

L'altro modo per assicurarsi di utilizzare Jogl è distribuire tramite JNLP. È possibile includere Jogl come dipendenza remota e il programma di avvio Java recupererà automaticamente la versione nativa appropriata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top