You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:39:03