命令行运行java程序,引入的其他jar包时,解决方案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了命令行运行java程序,引入的其他jar包时,解决方案相关的知识,希望对你有一定的参考价值。
原理说明
你是说这样
java class文件 -cp jar路径
java -classpath "./lib/mail.jar;./lib/skinlf.jar;./lib/MailChecker.jar;./lib/themepack.zip" com.sample.mailalert.pane.ClickPane
注意你的环境变量里面应该已经设置了JAVA_HOME
-classpath,类路径,包含你要使用到的所有jar或zip文件。
com.sample.mailalert.pane.ClickPane 是你的入口类本回答被提问者采纳 参考技术B java -cp .;A.jar B
A 是你的jar包,跟B放在一个文件夹就行。如果不在一个地方,就要指定了,如:
java -cp .;d:\A.jar B
B 就是你要执行的类
==================
原理:
java 是执行编译后的class的,这个不用多说,都知道...
-cp 就是引入外部 zip包或者jar包。
正确来说就相当于你在环境变量配置的classpath后的参数。
即:指定运行时需要的class。
其中 . 是在当前目录找 ; 以后后面的,是到你指定的目录找
==================
你看我给的例子了吗?我可没那么说。
第一行可是这么写的:java -cp .;A.jar B (A、B的解释在上面)
.; 也别给漏了
SpringBoot启动jar包时设置临时属性
什么是临时属性
临时属性是指在运行Spring Boot应用程序时,临时指定的一些属性值。临时属性值只对该次运行有效,在下次启动应用程序时将被重置
。这种方式可以极大地方便我们测试不同的应用场景和配置,而不需要修改配置文件。
如何使用临时属性
Spring Boot提供了一种在启动时指定临时属性的方式,即使用命令行参数的方式。我们可以在使用java命令启动Jar包时添加--符号和属性名称来设置临时属性。例如,我们可以通过以下命令设置服务器端口号:
java -jar myapp.jar --server.port=8080
如果需要覆盖多个参数,可以使空格,它们分开,如下所示:
java -jar your-application.jar --server.port=8080 --spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase --spring.datasource.username=admin --spring.datasource.password=passw0rd
临属性的优先级
Spring Boot支持多种属性配置的方式,在指定属性时,需要注意它们的优先级。以下是各种属性配置的优先级顺序:
命令行参数(Command Line Arguments):
命令行参数具有最高优先级,可以用于覆盖任何其他属性的值。例如:--server.port=8000JNDI属性(JNDI properties):
以在JNDI(Java Naming and Directory Interface)环境中单独配置的属性用于覆盖其他一些属性。Java系统属性(System properties):
可以在JVM启动过程中通过-D选项单独指定的Java系统属性,例如: -Dspring.profiles.active=prod。由于其在应用程序启动之前就已加载,因此这些属性可以用于配置Spring的配置体系结构和其他一些早期初始化。操作系统环境变量(OS environment variables):
可以在操作系统级别配置的环境变量,例如: export spring_datasource_url=jdbc:mysql://localhost/mydatabase。application-profile.yml(application-profile.properties):
Spring Boot会在classspath下搜索任何profile相关的配置文件,文件格式支持.properties和.yml两种,且不管使用哪种格式,都可以通过spring.profiles.active=xxx来指定当前应用程序的profile。例如: application-dev.yml。application.yml(application.properties):
该文件是对所有profile的应用。粒度更大的属性配置, 例如:spring.application.name=boot-demo。
总结
Spring Boot的临时属性提供了一种方便快捷的方式,在运行时修改应用程序的运行配置。在实际使用中,我们可以灵活地根据不同场景使用临时属性来测试和验证应用程序。需要注意的是,属性配置的优先级是非常重要的,使用时需要认真考虑它们的覆盖关系。
以上是关于命令行运行java程序,引入的其他jar包时,解决方案的主要内容,如果未能解决你的问题,请参考以下文章
使用Java命令行方式导入第三方jar包来运行Java程序的命令