热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linuxshelljavajar使用依赖包时classpath的设置问题

在linux下通过命令行或shell脚本执行jar包时,如果该jar包没有引用外部jar包,则非常容易,只需使用如下命令就可以实现:java-jarTest.jar#注意,如果在打包ja

在linux下通过命令行或shell脚本执行jar包时,如果该jar包没有引用外部jar包,则非常容易,只需使用如下命令就可以实现:

java -jar Test.jar   #注意,如果在打包jar文件时,没有指定Main入口所在的类,则需要在后面加上类的命名,如com.test.HelloWord
但是实际应用或者生产环境,根本不可能有如果容易的需求,那如果该jar需要引用外部jar包,那又当如何实现?需要做一些设置工作,下面是实现步骤:

一、使用jar包的配置文件来引用外部jar包

1、配置MANIFEST.MF文件

在打包好的jar中,META-INF/MANIFEST.MF 这个文件中列出所需的外部jar包,文件内容参考如下:

Manifest-Version: 1.0 
Main-Class: xx.json.SentJsonT 
Class-Path: lib/commons-beanutils-1.9.2.jar lib/commons-collections-3.2.2.jar lib/commons-io-2.5.jar lib/commons-lang-2.6.jar lib/commons-logging-1.2.jar lib/ezmorph-1.0.6.jar lib/httpclient-4.4.1.jar lib/httpcore-4.4.1.jar lib/httpmime-4.4.1.jar lib/jcl-over-slf4j-1.7.7.jar lib/json-lib-2.4-jdk15.jar lib/noggit-0.6.jar slf4j-api-1.7.7.jar lib/solr-solrj-6.0.1.jar lib/stax2-api-3.1.4.jar lib/woodstox-core-asl-4.4.1.jar lib/zookeeper-3.4.6.jar


注意事项

1)、Class-Path 后面的jar包的路径是liunx下的相对路径,Windows需要修改为\。

2)、Class-Path 后面的jar包之间使用空格分隔,而且必须在同一行中。


2、把所有外部jar包置于lib文件夹下

在xx.json.SentJsonT.jar所在的文件夹下,创建lib文件夹,把所有外部jar包放到该文件夹下。

3、运行该jar包

java -jar SendJonT.jar		#一样的简单,不一样的效果


二、使用Java系统环境变量

就是把所有外部的jar包,添加到CLASS_PATH变量里。





推荐阅读
  • Android 常用工具类源码大全
    Android常用工具类源码大全 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • ZooKeeper 学习
    前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人面试官让你给他讲讲ZooKeeper是个什么东西, ... [详细]
  • 一:什么是solrSolr是apache下的一个开源项目,使用Java基于lucene开发的全文搜索服务器;Lucene是一个开放源代 ... [详细]
  • Lucene 全文检索技术入门
    一、搜索引擎的历史萌芽:Archie、Gopher起步:Robot(网络机器人)的出现与spider(网络爬虫)发展:excite、galax ... [详细]
  • 首先我们在taotao-search-interface工程中新建一个SearchService接口,并在接口中添加一个方法,如下图所示。接着,我们到taotao-search-s ... [详细]
  • solr倒排索引(转载)
    原文地址:http:blog.csdn.netchichengitarticledetails9235157http:blog.csdn.netnjpjsoftdevarticle ... [详细]
author-avatar
儒妹妹_761
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有