zoukankan      html  css  js  c++  java
  • 运行java可执行jar包

    导出与导入:如果要用别的项目的类, 把对方类export出成jar包(多个类的集合),然后复制到自己项目路径下然后添加至构建路径,jar包右键buildpath/addtobuildpath。export导出javadoc文档,index文件用浏览器打开。

    1.控制台的可通过cmd命令:java -jar 包名.jar(需要进入到当前的jar包目录)

    2.建bat文件写进代码java -jar xxx.jar双击执行(同一路径下)

    @echo off
    java -jar events.jar
    pause

    需要注意的是:如果提示没有属性清单和主类,我们只需要用压缩软件打开jar包,找到META-INF/MANIFEST.MF文件,然后在按照下面格式编写就OK了。

    Manifest-Version: 1.0
    Main-Class: eventsDemo.eventText

    但是当我们的jar包里有第三方的jar包引用就会报找不到Class异常,原因就是jar引用不到放在自己内部的jar包。

    一,用Bootstrap Classloader来加载这些类

    win32 java -Xbootclasspath/a: 第三方jar包名.jar;第三方jar包名.jar; -jar events.jar

    unix    java -Xbootclasspath/a: 第三方jar包名.jar:第三方jar包名.jar: -jar events.jar

    win32系统每个jar用分号隔开,unix系统下用冒号隔开

    方法二:在META-INF/MANIFEST.MF文件里加Class-Path: lib/第三方jar包名.jar, lib是和events.jar同目录的一个子目录,events.jar要引用的第三方包就在这里面。

    如果有多个jar包需要引用的情况:

    Class-Path: lib/第三方jar包名.jar lib/第三方jar包名.jar

    每个单独的jar用空格隔开就可以了。注意使用相对路径。

    另:如果META-INF 下包含INDEX.LIST文件的话,可能会使Class-Path配置失效。INDEX.LIST是Jar打包工具打包时生成的索引文件,删除对运行不产生影响。

    java -Xmx1G -classpath .;libkutil.jar;liba.jar;lib.jar test.AAA --xxx=.

    在当前目录下和lib目录下找到test包下的AAA类并执行 --xxx=. 为参数, 按照顺序找,执行第一个找到的类。-classpath会覆盖CLASSPATH环境变量的值。https://www.jianshu.com/p/87637b150026

    https://www.iteye.com/blog/notafraid-2239958

    可执行的jar包就是可以用java -jar xx.jar 执行的jar包。 不可执行的就是嵌入到其他项目的jar包。


    原文链接:https://blog.csdn.net/weixin_39407066/article/details/83625316

  • 相关阅读:
    JVM底层原理 内存模型+GC垃圾回收
    新Socket与网络小结
    Redis五大数据结构及基本指令用法
    MySql高级汇总-事务,索引,SQL调优,分库分表,读写分离
    笔试错题整理
    设计模式(思路)
    网络编程
    linux
    基础算法--KMP匹配字符串
    基础算法--整数二分
  • 原文地址:https://www.cnblogs.com/peachh/p/12068754.html
Copyright © 2011-2022 走看看