是否可以使用CMake编译和运行java代码?
从命令行,我在终端上写的命令是:
javac -classpath theClasspath mainClass.java
java -classpath theClasspath mainClass
如果是这样,你能否告诉我如何实现这一目标?
PS:我不想生成jar文件; 只是为了编译java类,如果可能的话,运行它.
谢谢.
更新:我已经更改了命令.我不知道为什么没有显示其他文字.可能是因为我使用了"<"和">".
sak*_*kra 27
CMake对编译Java代码和执行Java类文件的支持有限.
标准模块FindJava可用于查找本地计算机上安装的JDK.标准模块UseJava为Java提供了一些函数.其中包括add_jar将Java源文件编译为jar文件的函数 .
这是一个演示如何使用的小例子add_jar.给定Java示例源文件HelloWorld.java:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Run Code Online (Sandbox Code Playgroud)
以下CMake列表文件将编译HelloWorld.java为jar文件HelloWorld.jar,并添加一个运行带有JVM的jar的CMake测试:
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)
Run Code Online (Sandbox Code Playgroud)
CMake变量CMAKE_JAVA_COMPILE_FLAGS可用于指定编译标志.作为副作用,该add_jar命令将设置目标属性JAR_FILE,CLASSDIR并且可以分别用于获取生成的jar文件和已编译的类文件目录的路径.
| 归档时间: |
|
| 查看次数: |
17585 次 |
| 最近记录: |