Java 如何从命令提示符生成jar文件

Java 如何从命令提示符生成jar文件,java,cmd,jar,Java,Cmd,Jar,我一直在尝试为我的gradle项目制作jar文件,但总是发现错误 无法找到或加载主类计算器服务器 在windows文件系统中,我的compile.class文件位于以下路径中 D:\Projects\EclipseProjects\calculatorgrp\build\classes\main\com\grpc\calculator 当我尝试使用folloiwng命令为主类(例如CalculatorServer)创建jar文件时 D:\Projects\EclipseProjects\calc

我一直在尝试为我的gradle项目制作jar文件,但总是发现错误 无法找到或加载主类计算器服务器

在windows文件系统中,我的compile.class文件位于以下路径中 D:\Projects\EclipseProjects\calculatorgrp\build\classes\main\com\grpc\calculator

当我尝试使用folloiwng命令为主类(例如CalculatorServer)创建jar文件时

D:\Projects\EclipseProjects\calculatorgrc\build\classes\main\com\grpc\calculator>java-cp test.jar com.test.calc.CalculatorServer

出现以下错误 无法找到或加载主类计算器服务器

编辑

对不起,我在这里发布了错误的命令

我创建jar文件的命令如下

D:\Projects\EclipseProjects\calculatorgrc\build\classes\main\com\grpc\calculator>echo主类:CalculatorServer>manifest.txt D:\Projects\EclipseProjects\calculatorgrc\build\classes\main\com\grpc\calculator>jar cvfm CalculatorServer.jar manifest.txt*.class

当我运行这个jar文件时

`D:\Projects\EclipseProjects\CalculatorGRPC\build\classes\main\com\grpc\calculator>java -jar CalculatorServer.jar
得到相同的错误


无法找到或加载主类计算器服务器

您所在的目录错误。无论您尝试执行什么操作,只要该操作涉及已编译的类文件,您就应该位于输出根目录中,即XXXXX\build\classes\main文件夹

原因是java类加载器 如果命令加载名为com.foo.Bar的类,则将尝试在jar中查找/com/foo/Bar.class。如果您只是像这样打包一个jar,jar工具将把您的类放在输出文档的根目录中。您可以通过使用像7z这样的归档工具进行调查来确认这一点,这会使类加载器惊慌失措,并给您一个错误

到五月,清单应该命名为MENIFEST.MF adn,放在/META-INF目录下,否则,如果清单的格式正确,同样的错误会再次弹出


PS:你为什么光着拳头做这些?这就是gradle应该做的,或者为什么它被称为构建自动化?在/build/目录下应该有您想要的jar文件,通常是/build/lib/

您根本没有创建jar文件。。。要么标题错误,要么命令粘贴错误。发布的命令肯定有问题,但我不会浪费时间指出解决方案,除非你澄清你想做什么。@glee8e我已经做了更改。。我对java环境很陌生。在这里打了很长一段时间了!!