关于带jar包运行

本文介绍了如何解决Java项目中因classpath设置不当导致无法找到外部jar包的问题。通过将jar包放置到特定目录或使用灵活的classpath配置,可以有效避免此类错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前天可以用javac编译带外部jar包的.java文件了

但是在用java命令运行的时候还是有问题,查来查去,原来是没有在classpath里引入

加上classpath参数也无效

但是不想修改环境变量文件,因为有时可能用,有时可能不用,挺麻烦的

今天终于解决了,把jar包弄到jdk文件下的\jre\lib\ext文件夹下,就可以了

看来JVM会在这里自动寻找jar包啊,原来如此,那么编译的时候也直接用-cp接到这里编译好了

还有,规定死放在这个文件夹下也挺不方便的

打算,建一个文件夹,加一个classpath,然后有用的JAR包就往里面塞,不用就扔出来。

嗯,还算比较灵活吧。

 

这麻烦的classpath,参数居然没有作用!让我郁闷了很久!

我开始想念python的module了,os的path里一塞!就OK!

 

转载于:https://my.oschina.net/rogerdai16/blog/7690

### Java运行JAR的日志输出配置 当通过`java -jar`命令运行JAR时,可以通过多种方式配置日志的生成和查看方法。以下是几种常见的做法: #### 方法一:使用重定向操作符将日志写入文件 如果希望将日志保存到特定文件中而不是控制台显示,则可以利用Shell中的重定向功能。例如,在Linux环境下执行如下命令可完成此目标[^2]: ```bash java -jar your-application.jar > /path/to/application.log 2>&1 ``` 这里>`>`表示标准输出流被重新导向至指定路径下的log文件;而`2>&1`意味着错误消息也会一同记录下来。 #### 方法二:借助nohup命令并设置日志位置 对于需要长时间运行的服务进程而言,“nohup”是一个非常实用的选择因为它可以让程序即使在用户退出登录之后仍然保持活跃状态。下面展示了一个典型例子[^4]: ```bash nohup java -jar xxxxx.jar >> /custom/path/for/logs/output.log 2>&1 & ``` 上述语句不仅实现了后台模式启动应用还指定了自定义目录用于存储产生的所有信息(括正常打印以及异常堆栈追踪等内容)。 #### 方法三:基于Spring Boot应用程序内部定义Logger规则 如果是采用像Spring Framework这样的框架构建起来的应用项目的话,那么往往已经内置支持灵活调整logging level等功能特性了。只需要编辑application.properties或者application.yml文件即可达成目的[^3]: **application.properties** ```properties logging.file.name=/var/log/myapp.log logging.level.root=INFO ``` **application.yml** ```yaml logging: file: name: "/var/log/myapp.log" level: root: INFO ``` 以上两种形式均能有效设定最终生成的日志文档存放地址及其对应的最低级别阈值要求等参数选项。 --- ### 注意事项 无论采取哪种方案都需要注意权限管理问题,确保所选路径具有足够的读写权利以免发生意外情况影响整个系统的稳定性表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值