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

有没有一种方法可以将所有的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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312300.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AspNetCore 启动地址配置详解

背景程序在发布部署时候&#xff0c;设置环境ASPNETCORE_URLS不生效&#xff0c;也没在代码里使用UseUrls("xxxx"),启动一直是http://localhost:5000.最后测试发现只有在appsettings.json中配置urls才生效&#xff0c;网上找了半天资料也没看到有什么问题。最终翻看源…

C++继承同名成员处理方式

问题&#xff1a;当子类与父类出现同名的成员&#xff0c;如何通过子类对象&#xff0c;访问到子类或父类中同名的数据呢&#xff1f; 1.访问子类同名成员 直接访问即可 2.访问父类同名成员 需要加作用域 一、同名成员属性处理方式 代码如下&#xff1a; #include <iostre…

yii输出mysql查询日志_Yii2框架设置错误日志输出到日志或数据库

设置Yii的错误日志&#xff0c;可按照设置错误级别输入到日志或数据库中。对yii\log\FileTarget做了重写。1、设置common/config/main.php$db require(__DIR__ . /db.php);return [vendorPath > dirname(dirname(__DIR__)) . /vendor,bootstrap > [log],components >…

BeetleX网关非法Url请求拦截插件

一旦网站部署到互联网上&#xff0c;就会受到一些非法的请求&#xff0c;而这些请求的Url都是一些特定的路径或带上一些无关请求的字符用于探测一些服务存在的问题&#xff1b;还有这些请求会落到日志中&#xff0c;导致日志臃肿和转发到后台服务带来处理上的损耗。为了应对拦截…

C++继承同名静态成员处理

问题&#xff1a;继承中同名的静态成员在子类对象如何访问&#xff1f; 静态成员和非静态成员出现同名&#xff0c;处理方式一致 1.访问子类同名成员 直接访问即可 2.访问父类同名成员 需要加作用域 首先我们先介绍一下静态成员属性的特点&#xff1a; 1.编译阶段分配内存 2…

java安装版本哪种好_我怎么知道我安装了哪个版本的Java?

问题描述我想开始玩java(最终到了可以为android或web编写基本小程序的地步)&#xff0c;但是我已经在我的计算机上(从过去的实验中)弄糟了java。我不确定我拥有哪个版本的Java&#xff0c;并且想知道是否有命令查看已安装且处于活动状态的Java版本。另外&#xff0c;哪个版本效…

UnitTest in .NET 系列文章目录

Photo &#xff1a;.NET单元测试的艺术文 | Edison Zhou这几天陆陆续续更新了UnitTest in .NET这个系列的文章&#xff0c;现将其总结成一个小目录。此外&#xff0c;特别推荐阅读Roy Osherove的《单元测试的艺术》一书&#xff0c;此文也是该书的精华内容的学习笔记总结。文章…

C++多继承语法

C允许一个类继承多个类 多继承可能会引发父类中有同名成员出现&#xff0c;需要加作用域区分 C实际开发中不建议用多继承 语法&#xff1a;class 子类 : 继承方式 父类1 , 继承方式 父类2 … 代码如下&#xff1a; #include <iostream> using namespace std;//父类 …

java蝇量模式_Head First设计模式——蝇量和解释器模式

蝇量蝇量模式&#xff1a;如果让某个类的一个实例能用来提供许多“虚拟实例”&#xff0c;就使用蝇量模式。在一个设计房子的平台中&#xff0c;周围要加上一些树&#xff0c;树有一个坐标XY坐标位置&#xff0c;而且可以根据树的年龄动态将自己绘制出来。如果我们创建许多树之…

如何运用领域驱动设计 - 聚合

概述DDD实战与进阶 - 值对象如何运用DDD - 实体如何运用领域驱动设计 - 领域服务在前几篇的博文中&#xff0c;我们已经学习到了如何运用实体和值对象。随着我们所在领域的不断深入&#xff0c;领域模型变得逐渐清晰&#xff0c;我们已经建立了足够丰富的实体和值对象。但随着实…

C++菱形继承

菱形继承概念&#xff1a; 1.两个派生类继承同一个基类 2.又有某个类同时继承着两个派生类 这种继承被称为菱形继承&#xff0c;或者钻石继承 举个例子&#xff1a; 菱形继承问题&#xff1a; 1.羊继承了动物的数据&#xff0c;鸵同样继承了动物的数据&#xff0c;当羊驼使…

ASP.NET Core Web程序托管到Windows 服务

前言在 .NET Core 3.1和WorkerServices构建Windows服务 我们也看到了,如何将workerservices构建成服务,那么本篇文章我们再来看看如何将web应用程序托管到我们的服务中.将WEB应用作为服务运行我们需要将我们的WEB应用程序编译成exe文件&#xff0c;在ASP.NETCore中其实这是一个…

运行wordcount.java_运行hadoop wordcount程序

我正在通过以下michael-noll教程学习hadoop . 当我试图通过运行 hadoop jar hadoop-examples-1.2.1.jar wordcount tmp/Files tmp/Output 运行wordcount示例时&#xff0c;我收到以下错误&#xff1a;13/11/10 18:09:42 INFO ipc.Client&#xff1a;重试连接到服务器&#xff1…

EntityFramework Core动态加载模型,我们要知道些什么呢?

这篇文章源于一位问我的童鞋&#xff1a;在EntityFramework Core中如何动态加载模型呢&#xff1f;在学习EntityFramwork时关于这个问题已有对应童鞋给出答案&#xff0c;故没有过多研究&#xff0c;虽然最后解决了这位童鞋提出的问题&#xff0c;但是当我再次深入研究时&#…

C++多态的基本语法与原理剖析

多态分为两类 1.静态多态&#xff1a;函数重载和运算符重载属于静态多态&#xff0c;复用函数名 2.动态多态&#xff1a;派生类和虚函数实现运行时多态 静态多态和动态多态区别&#xff1a; 1.静态多态的函数地址早绑定&#xff0c;编译阶段确定函数地址 2.多态多态的函数地址…

从零开始开发 VS Code 插件之 Translator Helper

本文目录Translator Helper 介绍开发概述创建第一个VS Code Extension需求分析操作文本调用Google Translation API实现核心功能配置命令插件配置测试插件打包插件发布插件CI/CDIcon及README小结Translator Helper 介绍 微软 Docs 网站上线之后&#xff0c;我发现很多中文内容是…

java printf 版本_java – PrintStream类型中的printf(String,Object ...

为什么通过简单调用printf会出现以下编译错误&#xff1f;我的代码&#xff1a;import java.util.Scanner;public class TestCodeBankAccInputs{public static void main(String[] args){String displayName "Bank of America Checking";int balance 100;System.ou…

C++string容器-构造函数

本质&#xff1a; string是C风格的字符串&#xff0c;而string本质上是一个类 string和char区别&#xff1a; 1.char是一个指针 2.string是一个类&#xff0c;类内部封装了char*&#xff0c;管理这个字符串&#xff0c;是一个char*型的容器 string构造函数原型&#xff1a; 1…

【实战 Ids4】║ 又一个项目迁移完成(MVC)

迎周一&#xff0c;腊月十九&#xff0c;小年倒计时新年还有两周时间就要到了&#xff0c;学习可不能停&#xff0c;这几天一直在加班调休&#xff0c;周末也如此&#xff0c;不过也是趁着半夜凌晨的时间&#xff0c;继续迁移我的项目到IdentityServer4统一认证授权中心Blog.Id…

C++string容器-赋值操作

功能描述&#xff1a; 给string字符串进行赋值 代码如下&#xff1a; #include <iostream> using namespace std; #include <cstring>void test01() {string str1;str1 "hello world";cout << "str1 " << str1 << endl;…