cmake java

作者:原创时间:2022-03-21
文档

cmake java是什么,让我们一起了解下?

cmake可以编译源代码、制作程序库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。

如何使用cmake编译java工程?

cmake对编译Java代码和执行Java类文件的支持有限。

标准模块FindJava可用于查找本地机器上安装的JDK,标准模块UseJava为Java提供了一些功能,其中有一个函数add_jar来将Java源文件编译成jar文件。

这是一个小例子,演示如何使用add_jar.给定Java示例源文件。

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

以下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)
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)

CMake变量CMAKE_JAVA_COMPILE_FLAGS可用于指定编译标志,作为副作用,add_jar命令将设置目标属性JAR_FILE和CLASSDIR,分别用于获取生成的jar文件和编译的类文件目录的路径。

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
compareto java 被删的微信聊天记录怎么找回来 continue java django java 微信怎么群发消息给多人 double java dozer java eclipse创建java arrays java awesome java 小程序和app的区别 enum java excel读取java extend java extends java false是java关键字吗 爱奇艺黄金会员和星钻会员的区别 field java foreach java for循环java class转java character java callable java qq实名认证怎么解除 calendar java cache java c#调用java接口 c#调用java brew java boolean java bitset java axis java asterisk java assert java 怎样改抖音名字的昵称 aspect java ansible java ajax java antlr java 交管12123怎么查科目一分数