运行jar文件中的class文件,需要在java命令后面加参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行jar文件中的class文件,需要在java命令后面加参数相关的知识,希望对你有一定的参考价值。

需要在java命令后面加的参数为 -cp 参考技术A java [opt] -jar C:\my.jar [args]
[opt]指选项
[args]指程序参数

JRE&JDK请装上本回答被提问者和网友采纳
参考技术B Java -jar 目录;

你可以去CMD下输入 Java试试,里面会有所有的提示,当然你要先安装JDK。

在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性

在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性

 

Maven 项目生成jar运行时提示“没有主清单属性”

新建了一个Maven的项目,mvn compilemvn package后生成了jar文件,然后直接到target目录下去执行Java -jar xxx.jar命令运行jar包时出现了“xxx.jar没有主清单属性”的错误提示。 
根据我的经验,肯定是没有找到入口类(即main函数所在的类),在pom.xml里面加上入口类的配置就好了!第一次直接用maven来打包jar,记录一下。

 

关于可执行程序(需要指定一个 main 类)打 jar 包就没这么方便了,我们需要考虑以下几个问题:

    • 配置文件需要打进 jar 包;
    • 需要指定 main 入口类;
    • 所依赖的第三方库也要打进 jar 包;
      • 只有同时满足以上三点,我们才可以直接使用 java -jar swiftonrsa-1.0.0.jar 命令成功执行该程序。
      • 2.1 配置文件打包不需要额外关注

        只要你项目所依赖的配置文件都按照 maven 规范放对位置(src/main/resources),那么打好的 jar 包就会把它们一起打包:
      • 但是这样打好的 jar 包既没有指定 main 入口类,也没有将依赖包打进来,我们运行它:
        • 提示"swiftonrsa-1.0.0.jar中没有主清单属性",我们查看打好 jar 包下 META-INF 目录中的 MANIFEST.MF,其内容如下:
          Manifest-Version: 1.0
          Built-By: Defonds
          Build-Jdk: 1.7.0_67
          Created-By: Apache Maven 3.2.3
          Archiver-Version: Plexus Archiver
          确实没有指出 main 入口类。

          2.2 maven-assembly-plugin 插件

          于是我们引入了 maven-assembly-plugin 插件,pom.xml 中加入如下代码:
          • 确实没有指出 main 入口类。

            2.2 maven-assembly-plugin 插件

            于是我们引入了 maven-assembly-plugin 插件,pom.xml 中加入如下代码:
            [html] view plain copy
             
             print?技术分享技术分享
            1. <build>  
            2.     <plugins>  
            3.         <plugin>  
            4.             <artifactId>maven-assembly-plugin</artifactId>  
            5.             <configuration>  
            6.                 <appendAssemblyId>false</appendAssemblyId>  
            7.                 <descriptorRefs>  
            8.                     <descriptorRef>jar-with-dependencies</descriptorRef>  
            9.                 </descriptorRefs>  
            10.                 <archive>  

以上是关于运行jar文件中的class文件,需要在java命令后面加参数的主要内容,如果未能解决你的问题,请参考以下文章

如何运行和编译jar

我在将java的.class文件打包成.jar文件后运行不了“Failed to load Main-Class”。怎么办?

jar打包后怎么读取里面的文件

java命令怎么运行一个包里的多个class文件

怎么修改jar包中的class文件然后再重新打成jar包

在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性