`
Utone
  • 浏览: 20070 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

bat中调用jar文件的两个问题

    博客分类:
  • Java
阅读更多

bat调用jar包的两个典型问题

一,工具介绍和打包过程

工具作用:使用smack.jar进行模拟登录。

使用方法:用bat调用工具。

开发过程:在eclipse环境下完成代码的开发和调试。生成jar包(在工程上右击=>选择Export=>选择JAR file,点击Next=>选择导出路径和名称,一直点击Next,直到完成),用bat调用生成的jar包(java -jar LoginTest.jar 123 123(注意命令中的空格))。

二,问题一:Failed to load Main-Class manifest attribute from mkNttEstTest.jar

程序运行的时候,总是需要一个入口,上述问题就是由于没有设置这个程序入口导致的。 可以将 jar 文件用 WinRAR 打开,展开 META-INF 文件夹,查看 MANIFEST.MF 文件,可以发现 Main-Class 未设置,这就是导致异常的原因所在。解决办法有两种。1 ,手动添加 :将 Main-Class: com.huawei.com.Test ( main 程序,程序入口 ) 加入 MANIFEST.MF 文件中。 2 ,自动添加:在用 eclipse 生成 jar 包过程的最后一步,选择相应的程序入口。如下图。

     选择自己程序的入口,点击Finish就OK了。再次用 WinRAR 打开 MANIFEST.MF 文件,发现选择入口程序后,在 MANIFEST.MF 文件中自动加入了 Main-Class: com.huawei.com.Test 这句话。效果当然也和第一种一样。

 

三,问题二,Exception in thread "main" java.lang.NoClassDefFoundError: org\jivesoftware\smack\ConnectionConfiguration

   

    开发这个工具要依赖smack.jar 包,打包的时候不能自动将其他依赖包自动包含进来 (不能确定有没有方法(^-^) ) ,所以,当程序运行的后,用到依赖包的内容时,就会报 NoClassDefFoundError 的错误。解决办法:与问题一的第一种解决办法相似,也是在 MANIFEST.MF 文件的最后加入下面的依赖关系即可: Class-Path: smack.jar ,各个包之间用空格隔开 ( 注意:记得将依赖包考到与自己生成 jar 包的相同目录下 )

分享到:
评论

相关推荐

    c调用java源码-JSONtoCSV:它包含两个文件,第一个是由BeanToCsv.class,Reader.class和org.JSON库

    它包含两个文件,第一个是解析JSON的java .jar文件(如果您不给它输入参数,它会处理默认为我的Facebook API剩余URL的错误处理)。 .bat批处理文件应与.jar和excel文件保存在同一文件夹中。 .bat文件将已解析的json...

    安卓反编译文件所用到的工具及方法

    首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。 具体步骤: 1.首先将apk文件,将后缀改为zip,解压,得到其中的classes...

    JSP API接口和返回的版本

    另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 bat 文件(Windows 下使用),或者直接提供编译好的二进制库文件。 不过为了让读者能够更清楚如何安装,我们还是对每种语言的安装都...

    APKTool批处理版l

    打开解包的资源文件,里面有两个文件夹:Res存储的各种资源文件;Smail:存储的是反编译的程序代码。至此解包操作完成。 四、初步汉化 汉化的第一步,是汉化res文件夹里面的程序界面资源。一般来说,这个文件夹里面...

    2AM API接口和返回的版本

    另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 bat 文件(Windows 下使用),或者直接提供编译好的二进制库文件。 不过为了让读者能够更清楚如何安装,我们还是对每种语言的安装都...

    SmaliInjector20170719

    main.bat 内有两个便捷开关,赋值表示启用,参数留空表示开关不启用 Resign_Only 是否只做 重签名 的动作,可用于验证目标 apk 有没有做签名保护 SkipDex2jar 是否跳过 dex 转 jar 的步骤,转换很耗时,第二次...

    axis1.4批量生成客户端代码

    该包中含有: 1.axis1.4-bin.zip 2.wsdl2java.bat批处理脚本 3.客户端调用时缺失的mail.jar和activation.jar,没有这两个包执行客户端代码可能会报错。

    史上最强-Kettle-培训教程.pdf

    Kettle 的执行顺序 作业:分串行执行和并行执行,串行执行是先执行完其中一条线再执 行另一条线,并行是两条线同时执行,同一条线上的两个步聚会先执 行前面的再执行后面的。每个步骤执行结果分两种:true(成 功)/...

    网管教程 从入门到精通软件篇.txt

    Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh...

    ASP API接口和返回的版本

    另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 bat 文件(Windows 下使用),或者直接提供编译好的二进制库文件。 不过为了让读者能够更清楚如何安装,我们还是对每种语言的安装都...

    PHP API接口和返回的版本

    另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 bat 文件(Windows 下使用),或者直接提供编译好的二进制库文件。 不过为了让读者能够更清楚如何安装,我们还是对每种语言的安装都...

    .NET API接口和返回的版本

    另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 bat 文件(Windows 下使用),或者直接提供编译好的二进制库文件。 不过为了让读者能够更清楚如何安装,我们还是对每种语言的安装都...

    JS JSP ASP .NET J2AM API接口和返回的版本

    另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 bat 文件(Windows 下使用),或者直接提供编译好的二进制库文件。 不过为了让读者能够更清楚如何安装,我们还是对每种语言的安装都...

    JS API接口和返回的版本

    另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 bat 文件(Windows 下使用),或者直接提供编译好的二进制库文件。 不过为了让读者能够更清楚如何安装,我们还是对每种语言的安装都...

    mc-server-restarter-v2

    mc-server-restarter-v2 将所有文件放... 就在server.jar旁边确保您在同一目录中同时具有run.bat和backup.bat 确保您的服务器JAR文件被调用为“ server.jar” 确保将世界文件称为“世界” 这两个文件都必须在同一目录中

Global site tag (gtag.js) - Google Analytics