有没有一种方法可以将所有的jar文件包含在类路径的目录中?

我正在尝试java -classpath lib / *。jar :. my.package.Program,它无法找到当然在这些罐子里的类文件。我是否需要将每个jar文件分别添加到类路径中?

使用Java 6或更高版本,classpath选项支持通配符。请注意以下几点:使用直引号(“)”

使用*,而不是*。jar

窗java -cp "Test.jar;lib/*" my.package.MainClass

的Unix

java -cp "Test.jar:lib/*" my.package.MainClass

这与Windows类似,但使用:而不是;。如果不能使用通配符,bash允许使用以下语法(其中lib是包含所有Java归档文件的目录):

java -cp $(echo lib/*.jar | tr ' ' ':')

(请注意,使用类路径与-jar选项不兼容。另请参见:从命令提示符执行带有多个classpath库的jar文件)

了解通配符

从Classpath文件:<

/ p>Class path entries can contain the basename wildcard character *, which is

considered equivalent to specifying a list of all the files in the directory

with the extension .jar or .JAR. For example, the class path entry foo/*specifies all JAR files in the directory named foo. A classpath entry

consisting simply of * expands to a list of all the jar files in the current

directory.

>A class path entry that contains * will not match class files. To match

both classes and JAR files in a single directory foo, use either foo;foo/*or foo/*;foo. The order chosen determines whether the classes and resources

in foo are loaded before JAR files in foo, or vice versa.

>Subdirectories are not searched recursively. For example, foo/* looks for

JAR files only in foo, not in foo/bar, foo/baz, etc.

>The order in which the JAR files in a directory are enumerated in the

expanded class path is not specified and may vary from platform to platform

and even from moment to moment on the same machine. A well-constructed

application should not depend upon any particular order. If a specific order

is required then the JAR files can be enumerated explicitly in the class path.

>Expansion of wildcards is done early, prior to the invocation of a program’s

main method, rather than late, during the class-loading process itself. Each

element of the input class path containing a wildcard is replaced by the

(possibly empty) sequence of elements generated by enumerating the JAR files

in the named directory. For example, if the directory foo contains a.jar,

b.jar, and c.jar, then the class path foo/* is expanded into

foo/a.jar;foo/b.jar;foo/c.jar, and that string would be the value of the

system property java.class.path.

>The CLASSPATH environment variable is not treated any differently from the

-classpath (or -cp) command-line option. That is, wildcards are honored in

all these cases. However, class path wildcards are not honored in the Class-

Path jar-manifest header.

在windows下这个工作:java -cp "Test.jar;lib/*" my.package.MainClass

这不起作用:java -cp "Test.jar;lib/*.jar" my.package.MainClass

注意.jar, **所以应该单独使用通配符** 。

在Linux上,以下工作:java -cp "Test.jar:lib/*" my.package.MainClass

分隔符是冒号而不是分号。

未经作者同意,本文严禁转载,违者必究!

java jar 目录_将Java类路径中的所有jar包括在一个目录中相关推荐

  1. java动态类加载_实现Java动态类载入机制

    作 为 充 分 利 用Java 的 动 态 类 载 入 机 制 的 最 好 例 子, 带 有Java 扩 展 的Web 浏 览 器 根 据 请 求 从 网 络 或 本 地 文 件 系 统 中 动 态 ...

  2. java实现浏览器_利用Java实现网页浏览器

    使用VC,VB或者C#的开发者们对于在程序里面嵌入一个网页来说,那真是小事一桩.但是在JAVA里面,却几乎是不可能实现的任务. JEditorPane虽然说可以打开网页,但是它那解析速度以及解析质量, ...

  3. java queue使用_使用Java使用Amazon Simple Queue Service

    java queue使用 Amazon Simple Queue Service或SQS是Amazon Webservice堆栈提供的高度可扩展的托管消息队列. Amazon SQS可用于完全解耦系统 ...

  4. java classpath 目录_关于JAVA项目中CLASSPATH路径详解

    在dos下编译java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候.classpath就是存放.class等编译后文件的路径. javac:如果当前你要编译的java文件中 ...

  5. java压缩解压缩_利用Java实现压缩与解压缩(zip、gzip)支持中文路径

    zip扮演着归档和压缩两个角色:gzip并不将文件归档,仅只是对单个文件进行压缩,所以,在UNIX平台上,命令tar通常用来创建一个档案文件,然后命令gzip来将档案文件压缩. Java I/O类库还 ...

  6. java 进程运行时间_将Java类作为子进程运行

    java 进程运行时间 我本周需要将Java类(而不是jar)作为子进程运行. 更确切地说,我想从测试内部产生一个新进程,而不是直接在测试内部(进程内)运行它. 我不认为这是幻想或复杂的事情. 但是, ...

  7. java文件打包jar文件_把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  8. java文件打包成jar文件_将java文件打包成jar包步骤

    将mypackage包中的FrameDemo.java文件打包成可执行成jar包 步骤1:先将程序中所有类打包成一个包 编译mypackage包FrameDemo.java文件,将类文件存入D盘Jar ...

  9. java -jar 运行jar包_用java –jar 命令运行Jar包

    用java –jar 命令运行Jar包 摘要 这个技巧阐明了如何不直接处理清单文件而将一个不能运行jar包转换成一个可以执行的jar包.学会如何写一段转换jar包的程序,将你的jar包转换成你能使用j ...

最新文章

  1. COBOL入门到精通
  2. python 删除第三方库_python 安装移动复制第三方库操作
  3. ssh连接局域网内ubuntu主机_ubuntu使用ssh连接远程电脑的方法
  4. python爬boss网站_python之requests爬虫Boss数据
  5. windows7计算机管理,win7系统打开计算机管理(compmgmt.msc)的操作方法
  6. 微信小程序 解决disableScroll无法禁止小程序下拉的问题和视频铺满全屏尺寸
  7. php版密码字典生成 原创,真空密码字典生成器-使用教程和下载
  8. C语言单片机把2000H清零,清零程序实验报告.doc
  9. 一键清理C盘垃圾文件,让你的电脑运行飞起
  10. tcp协议服务器如何做物联网平台,物联网IoT终端设备如何选择接入协议——(TCP、UDP、MQTT、CoAP、LwM2M哪一个更适合?)...
  11. php居民小区物业水电费管理系统mysql
  12. [Android] 小男孩短视频去水印新版来了,支持18多个短视频平台去水印例如抖音快手微视皮皮虾等...
  13. Mysql 免安装版本
  14. 渣本毕业两年经验,大厂内部资料
  15. 手机布局rem的使用(rem)
  16. SH7001单电池恒压线性充电IC
  17. Windows域提权漏洞CVE-2021-442287
  18. 解决2016版OneNote做代码笔记全流程
  19. ai若无声,我宁沉默夜寂无声,伊人浅唱。
  20. 人脸验证:DeepID

热门文章

  1. Android之学习安卓每天成长笔记
  2. php基础教程 第一步 环境配置及helloworld
  3. python简介及环境安装
  4. 查询工资最低的3名员工的职工工号、姓名和收入_普法课堂|你有多久没有收到工资条了?...
  5. opencv python安装linux_Ubuntu16.04、Python3.6下安装opencv4遇到的问题
  6. python123可以复制粘贴吗_使用win32com和python复制和粘贴隔离
  7. 国庆中秋活动——读完这两套书,宝宝就变小小物理学家了!
  8. 怎样安装python在桌面_在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程...
  9. 连接mysql数据库2013_使用VS2013 + EF6 + .NET4.5 连接Mysql数据库
  10. 华科计算机课程设计,华中科大操作系统课程设计报告(附源码).doc