导出与导入:如果要用别的项目的类, 把对方类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