linux shell java jar 使用依赖包时classpath的设置问题
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
在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<span style="white-space:pre"> </span>#一样的简单,不一样的效果
二、使用Java系统环境变量
就是把所有外部的jar包,添加到CLASS_PATH变量里。
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献4条内容
所有评论(0)