java - cmake for Java,如何指定主类并使jar文件可执行?
问题描述
Hello.java
:
public class Hello {
public static void main(String[] args) {
System.out.println("hello java");
}
}
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")
set(CMAKE_JAVA_EXECUTABLE Hello)
add_jar(${PROJECT_NAME} Hello.java)
生成Hello.jar
的MANIFESET.MF,没有这个Main-Class
选项。
即使我已经添加:
设置(CMAKE_JAVA_EXECUTABLE 你好)
知道如何使 jar 文件可执行吗?
我不喜欢自己写一个 MANIFEST.MF,或者在生成的 .MF 文件中编辑一个.jar
。
解决方案
您需要将指向主类的ENTRY_POIN添加到 add_jar 中,如下所示:
add_jar(${PROJECT_NAME} Hello.java ENTRY_POINT Hello)
推荐阅读
- javascript - Antd 行选择显示在第二列
- dpkg - `dpkg-query -S` 的实现在 C 中真的有必要吗?
- javascript - express.js 应用程序的 EJS 模板:将数据传输到变量中
- c# - 尝试调用接口服务时抛出控制器错误“非静态字段需要对象引用”
- scheme - 方案 - 有没有办法在 remf* 功能中将表达式设置为 pred?
- python-3.x - django 项目在 gunicorn 上出现错误,但在使用 manage.py runserver 时运行完美
- python - 相同的代码,不同的计算机,不同的结果。Selenium 找不到网页元素
- java - android 4.4.4(kitkat) ImageView Z-index
- hadoop - hadoop map reduce作业失败:ERROR streaming.StreamJob:错误启动作业:不是文件:
- swift - 列表未在 DestinationView 中传播更新