java -jar Test.jar找不到main class问题

如果你写了一些class,编 译到一个jar里面,但是在执行这个jar的时候报错,找不到main class,但是你明明是有的,是不是很郁闷,检查一下你的jar吧。

解压你的jar,打开META-INF这个folder,打开MANIFEST.MF这个文件(这是一个文本),看看里面有没没有Main- Class: MyClass,如果没有,就给加进去,记得把路径写正确,比如com.sun.mytest.Myclass,这样才能找到,然后重新打成jar就好 了,如果你不想这么麻烦,那就在编译jar的时候记得把这个写进去噢。

最常用的就是pom中需要添加下面的配置文件就可以解决问题

<plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
          <archive>
            <manifest>
              <mainClass>com.test.FirstTest</mainClass>
            </manifest>
            </archive>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

时间: 2025-01-01 03:13:24

java -jar Test.jar找不到main class问题的相关文章

java打jar包与找不到依赖包详解

版权声明: https://blog.csdn.net/maoyuanming0806/article/details/82982263eclipse打jar包与找不到依赖包详解eclipse打工具jar1.项目右键-->export -->搜索java2.选择JAR file3.打包eclipse打包可执行jar1.项目右键-->export -->搜索java(参考上图)2.选择Runnable JAR file3.打包如下java命令行打包java -jar运行jar包找不到

myeclipse maven 打成jar包 对要执行的main方法暴露出去,通过java -jar 命令后跟打包好的jar文件回车就可以执行暴露的main线程方法

在该maven项目的pom.xml中添加: <plugin>          <artifactId>maven-assembly-plugin</artifactId>          <configuration>              <archive>                  <manifest>                      <mainClass>com.xha.db.service

java命令执行jar包的方式

大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口. 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件. 比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName 我们就只要在MANIFEST.MF里面添加如下一句话: Main-Class: test.someClassName 然后我们可以在控制台里输入java

将Java程序打jar包并运行

1)接着上篇博客继续说手动编译之后,将代码打成jar包,然后直接“java -jar lz.jar"运行不成功的问题.还是先上代码: 这个是Demo类: package org.lz.demo.a ; public class Demo{ public String getContent(){ return "oh,yeah,done!" ; } }; 接下来,这个是调用了Demo类的ImportDemo类,并且这两个类不在一个包中: package org.lz.demo.

java基础篇-jar打包

以helloworld程序为例: 一:正常流程: 1.首先编写一个hello.java的程序: public class Hello { public static void main(String[] args) { System.out.println("hello world!"); } } 保存到C:/temp 目录下. 2.编译:hello.java cd C:/temp javac hello.java 在C:/temp目录下则会多出一个hello.class文件.(此时如

maven把项目打包成jar包后找不到velocity模板的bug

使用springmvc 开发时候要实现发送velcotiy模板邮件,在配置正常后,在本地测试正常后,使用maven打包成jar包后,报以下错误, Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'templates/index.vm' at org.apache.velocity.runtime.resource.ResourceManagerImpl.load

【Java】修改jar包class文件小记

今天被瑶瑶要求帮忙了 他现在用的软件里有一个bug,因为是外国的开发者,所以要求修改是很麻烦的事.要改的东西很简单,就是将一个函数里错误的返回值修改. 拿到手的有软件直接能运行的jar包. 一开始的想法比较简单,就想直接反编译代码,然后修改后重新打包,使用的是一直比较钟爱的jd-gui. 不过之后发现没有那么简单,由于这个软件功能比较多,代码比较繁琐,反编译之后代码依赖关系大量的报错,想要将所有报错都修改好再重新打包几乎是不可能的,只能放弃. 然后瑶瑶告诉我,他之前已经定位到了有bug的方法,只

java class生成jar包(转)

进入dos操作符窗口cd进入要打成jar包的class文件所有文件夹目录jar cvf [生成jar的名称.jar] [列出class文件] //若有多个,以空隔隔开 如:一.操作零散的单个或几个class文件jar cvf ibstool.jar com/cn/ibs/TurnD.class com/cn/ibs/TurnB.class 二.把一个文件夹下面的所有class文件打成jar包jar cvf ibstool.jar * 回车 生成可执行jar包:编译的class文件中必须有main

[Java] Java 打包成jar包 和 解压jar包

解压jar包 jar xf xxx.jar 打包成jar包 方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 选项包括:     -c  创建新的归档文件     -t  列出归档目录     -x  解压缩已归档的指定(或所有)文件     -u  更新现有的归档文件     -v  在标准输出中生成详细输