with studio ndk link libreria library for executing ejecutar crear con cause aplicaciones java cmake

java - studio - ejecutar c++ android



CMake para compilar el código java (1)

¿Es posible usar CMake para compilar y ejecutar código Java?

Desde la línea de comandos los comandos que escribo en la terminal son:

javac -classpath theClasspath mainClass.java

java -classpath theClasspath mainClass

Si es así, ¿podría darme una idea de cómo se puede lograr esto?

PS: No quiero generar un archivo jar; Solo para compilar la clase java y si es posible ejecutarlo.

Gracias.

Actualización : He cambiado el comando. No sé por qué no se mostró el texto adicional. Puede ser porque usé "<" y ">".


CMake tiene un soporte algo limitado para compilar código Java y ejecutar archivos de clase Java.

El módulo estándar FindJava se puede usar para encontrar un JDK instalado en la máquina local. El módulo estándar UseJava proporciona algunas funciones para Java. Entre ellas se encuentra una función add_jar para compilar archivos fuente de Java en un archivo jar.

Aquí hay un pequeño ejemplo que muestra cómo usar add_jar . Dado el archivo fuente de ejemplo de Java HelloWorld.java :

public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }

El siguiente archivo de lista de CMake compilará HelloWorld.java en un archivo jar HelloWorld.jar y también agregará una prueba de CMake que ejecuta el jar con la JVM:

cmake_minimum_required (VERSION 2.8) find_package(Java REQUIRED) include(UseJava) enable_testing() project (HelloWorld NONE) set(CMAKE_JAVA_COMPILE_FLAGS "-source" "1.6" "-target" "1.6") add_jar(HelloWorld HelloWorld.java) get_target_property(_jarFile HelloWorld JAR_FILE) get_target_property(_classDir HelloWorld CLASSDIR) message(STATUS "Jar file ${_jarFile}") message(STATUS "Class compiled to ${_classDir}") add_test(NAME TestHelloWorld COMMAND ${Java_JAVA_EXECUTABLE} -cp ${_jarFile} HelloWorld)

La variable CMake CMAKE_JAVA_COMPILE_FLAGS se puede usar para especificar CMAKE_JAVA_COMPILE_FLAGS compilación. Como efecto secundario, el comando add_jar establecerá las propiedades de destino JAR_FILE y CLASSDIR que se pueden usar para obtener la ruta al archivo jar generado y al directorio de archivos de clase compilados, respectivamente.