2013-11-01 11 views
5

La mia applicazione Java ha l'obbligo di utilizzare una libreria nativa a 32 bit su OSX.Come utilizzare una libreria nativa a 32 bit in Java 7 su OSX

In particolare, ho un driver ODBC a 32 bit e ho un codice JNI per utilizzare il driver, ma non sembra che ci sia una JVM Java 7 a 32 bit che verrà eseguita su OSX.

Non ho il codice sorgente per il driver, quindi non posso ricompilarlo.

Non esiste un driver JDBC per questo prodotto, motivo per cui sto utilizzando ODBC.

Ho cercato le porte OpenJDK a 32 bit ma l'unico progetto che potrebbe averlo supportato è morto.

Qualcuno ha qualche idea?

+0

Puoi chiarire cosa intendi per "biblioteca nativa"? ODBC richiede una JVM a 32 bit o solo una determinata libreria a 32 bit? –

+0

Questo è probabilmente un duplicato. Vedi http://stackoverflow.com/questions/15111743/java-7-to-be-run-in-32-bit-on-mac e in particolare http://stackoverflow.com/questions/15111743/java-7 -to-be-run-in-32-bit-on-mac –

+0

Il driver stesso a 32 bit, la mia comprensione è che solo le applicazioni a 32 bit possono usarlo. Quindi il mio layer JNI è compilato anche per 32 bit. Java non utilizzerà quel componente. Genera un UnsatisfiedLinkError con il dettaglio "mach-o, ma l'architettura sbagliata" –

risposta

2

Penso che l'unica risposta per voi (su JDK 7) è quella di utilizzare OBuildFactory per compilare un jdk a 32 bit. This question era simile e mi ha indicato questi directions.

+1

Questa sembra essere una soluzione praticabile. Basandomi sulla ricerca che ho fatto, ci vorrebbe un bel po 'di sforzo per creare un build a 32 bit, ma è possibile che il proprietario del progetto li abbia rilasciati. Ha smesso di lavorare su Mac e non ha più tempo per mantenere le versioni. Sembra che altri abbiano creato build a 32 bit o ci stiano lavorando attivamente. Speriamo che queste persone contribuiscano al progetto. Non ho intenzione di percorrere questa strada in questo momento (ho già iniziato a lavorare su una soluzione alternativa) ma penso che funzionerà quindi accetterò la risposta. –

Problemi correlati