大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口。 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件。 比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName 我们就只要在MANIFEST.MF里面添加如下一句话: ...
java -jar命令运行jar包时指定外部依赖jar包 你们都知道一个java应用项目能够打包成一个jar,固然你必须指定一个拥有main函数的main class做为你这个jar包的程序入口。具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件。好比有个叫作test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName。
javac MainClass.java 1. 确定.class文件正常生成后,使用jar命令创建Jar包: jar cfm MyJavaApp.jar META-INF/MANIFEST.MF MainClass.class 1. 这条命令将MainClass.class与MANIFEST.MF一起打包成MyJavaApp.jar。 5. 运行Jar包 完成以上步骤后,便可以运行生成的Jar包了,使用下面的命令: java-jarMyJavaApp.ja...
java -cp your-jar-file.jar com.example.YourMainClass 这里your-jar-file.jar是你的jar文件名,com.example.YourMainClass是包含你想要运行的main方法的类的全路径名。 2. 修改MANIFEST.MF文件 通常,jar包的入口main方法会在MANIFEST.MF文件中通过Main-Class属性指定。如果你想要改变默认的main方法,你可以编辑ja...
这种方式是不行的,因为使用classpath指定的jar是由AppClassloader来加载,java 命令 加了-jar 参数以后,AppClassloader就只关注test.jar范围内的class了,classpath参数失效。 那该怎么引用其他的jar包呢? 方法一、使用Bootstrap Classloader来加载这些类 我们可以在运行时使用如下参数: ...
问一个小白问题:正常情况下,java打包成jar包需要在MANIFEST.MF中指定Main-Class项以便运行java -jar ***.jar时找到对应的主类。但是如果我不想在打包成jar包时指定这个类,而是想运行时指定想要运行的类,不知该如何做? java -jar HelloWorld.jar org.test.HelloWorld 如上方法运行包中的org.test.HelloWorld类时...
tasks.jar { // 设置主类,导出的jar可以直接运行 manifest { attributes["Main-Class"] = "MainKt" // 格式为包名+类名+“Kt”(因为kotlin编译后生成的java类会自动加上kt) } // 下方的依赖打包可能会有重复文件,设置排除掉重复文件 duplicatesStrategy = DuplicatesStrategy.EXCLUDE // 将依赖一起打包进jar...
Main-Class: test.someClassName 然后我们可以在控制台里输入java-jartest.jar即可以运行这个jar。 但是我们这个项目需要引用其他第三方的jar包,在eclipse里面以项目jar包的形式引用了这个叫做some.jar的包,当时放在项目的lib子目录下,最后项目打包时把这个some.jar也打进来了,但是用java-jar执行这个test.jar的时候报...
在运行jar时找不到或加载主类是指在执行Java程序的可执行jar文件时,系统无法找到或加载指定的主类。这可能是由于以下几个原因导致的: 1. 主类路径错误:在运行jar文件时,需要指定正确的主类路...
java运行jar命令提示没有主清单属性 1.这样的问题是因为,jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。这里说明一下MANIFEST.MF就是一个清单文件,通俗点将就相当于WINDOWS中ini配置文件。用来配置程序的一些信息。