使用CMake编译Java时如何指定主类生成可执行Jar包
解决方案
你使用的CMAKE_JAVA_EXECUTABLE是CMake内置的指向系统Java运行时可执行文件路径的变量,无法用来指定Jar包的主类。
CMake的UseJava模块提供的add_jar命令原生支持通过ENTRY_POINT参数指定主类,会自动生成包含Main-Class配置的MANIFEST.MF文件,无需手动操作。
修改后的完整CMakeLists.txt如下:
cmake_minimum_required(VERSION 3.10) project(Hello) find_package(Java REQUIRED) include(UseJava) set(CMAKE_JAVA_COMPILE_FLAGS "-source" "11" "-target" "11") add_jar(${PROJECT_NAME} Hello.java ENTRY_POINT Hello )
构建完成后直接执行java -jar Hello.jar即可正常运行,输出hello java。
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

