java - '没有主要清单属性' Gradle 没有创建清单文件夹和文件?
问题描述
我正在按照这些说明创建和执行 jar 文件:
$ git clone https://github.com/real-logic/simple-binary-encoding.git
$ ./gradlew
$ cd ./sbe-tool/build/libs
$ wget ftp://ftp.cmegroup.com/SBEFix/NRCert/Templates/templates_FixBinary.xml
$ java -jar -Dsbe.target.language=cpp -Dsbe.keyword.append.token=_ sbe-tool-1.19.0-SNAPSHOT.jar templates_FixBinary.xml
详细在这里:
https://mattpearson.github.io/2016/10/07/Decoding-CM-E-MDP-30.html
(生成的可执行文件与 4 年前的文章有不同的版本,所以我不得不修改最后一个命令以反映这一点)
我输入命令,一切正常,直到最后:
java -jar -Dsbe.target.language=cpp -Dsbe.keyword.append.token=_ sbe-tool-1.19.0-SNAPSHOT.jar templates_FixBinary.xml
但我得到:
no main manifest attribute, in sbe-tool-1.19.0-SNAPSHOT.jar
仅包含 jar 文件的文件夹还包含一个 sbe-tool-1.19.0-SNAPSHOT-javadoc.jar 文件。没有清单文件夹。
有人可以帮忙吗?
解决方案
MANIFEST.MF
是jar结构中的一个文件(在resources
jar下)。如果该文件存在于 .jar 中,则它缺少该Main-class
条目。请参阅https://docs.oracle.com/javase/tutorial/deployment/jar/appman.html - jar 格式与存档文件/目录的 .zip 格式相同。如有必要,您应该能够使用此信息修改清单。
推荐阅读
- python - (-215:断言失败) corr.rows <= img.rows + templ.rows - 1 && corr.cols <= img.cols + templ.cols - 1 在函数 'cv::crossCorr' 中(matchTemplate)
- python - aiohttp check headers on every request and set them again if not correct
- c# - Try-Catch not catching exception in method in C#
- ruby-on-rails - 针对同时创建的另一个模型上的属性进行验证
- angular - 使用 ng 闪电遇到的角度错误
- python - BeautifulSoup:如何从此链接获取所有文章链接?
- oauth-2.0 - Google Oauth2.0 端点返回 404 错误
- arrays - 如何在 C 语言中比较 char 数组和 char
- python - 如何简单地将麦克风连接到 python?
- c# - 如何在不遇到 DLL 版本冲突的情况下从 .NET Framework 库中引用 .NET Standard 库?