基于jar包带参数的java软件部署

本文介绍如何在Windows和Linux环境下使用不同命令行参数启动基于jar包的Java应用程序,并详细解释了不同配置文件间的优先级及注意事项。

@T基于jar包带参数的java软件部署OC
windows环境:
可用已下命令启动:


```powershell
java -jar xxx.jar --spring.datasource.url=jdbc:mysql://1.2.3:3308/dbname? --useUnicode=true --characterEncoding=utf-8 --useSSL=true --allowMultiQueries=true --serverTimezone=UTC --spring.datasource.username=username1 --spring.datasource.password=password1

linux环境:(可在后台关闭窗口继续运行)

```powershell
nohup  java -jar -Dspring.datasource.url="jdbc:mysql://1.2.3.4:3308/vela_evs?" -DuseUnicode=true -DcharacterEncoding=utf-8 -DuseSSL=true -DallowMultiQueries=true -DserverTimezone=UTC -Dspring.datasource.username="usname" -Dspring.datasource.password="pword" /opt/xx/xx.jar > /opt/xxx/xx.out &

启动配置读取优先级:
高:命令参数
中:jar包同级下的config文件夹中的application.properties.
低:软件中:resource下的application.properties.
注意:若优先级高的里无某个参数,会以优先级低的里边的参数值为准。三个文件都会读。
注意:1.这里边一定要加args,相当于外部参数

 public static void main(String[] args) {
        SpringApplication.run(ServiceManApplication.class, args);
    }
2.如果运用到spring cloud的配置中心,一定要注释掉配置中心的相关参数,命令里的才不会覆盖。
要解决 Maven 打 JAR 包带版本号的问题,可以通过配置 `maven-jar-plugin` 或 `maven-assembly-plugin` 等插件来实现。以下是具体的解决方法: ### 使用 maven-jar-plugin 可以在 `pom.xml` 文件中配置 `maven-jar-plugin` 插件,通过 `finalName` 属性指定生成的 JAR 包的名称,从而去掉版本号。示例配置如下: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.3.0</version> <configuration> <finalName>your-jar-name</finalName> </configuration> </plugin> </plugins> </build> ``` 在上述配置中,`finalName` 指定了生成的 JAR 包的名称,你可以将 `your-jar-name` 替换为你想要的名称。 ### 使用 maven-assembly-plugin `maven-assembly-plugin` 可以用于创建自定义的归档文件,也可以用来生成不带版本号的 JAR 包。示例配置如下: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.5.0</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <finalName>your-jar-name</finalName> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 在上述配置中,`finalName` 同样指定了生成的 JAR 包的名称。 ### 使用 maven-shade-plugin `maven-shade-plugin` 可以用来创建可执行的 JAR 包,也能帮助生成不带版本号的 JAR 包。示例配置如下: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.4.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <finalName>your-jar-name</finalName> </configuration> </execution> </executions> </plugin> </plugins> </build> ``` 这里的 `finalName` 也是用来指定生成的 JAR 包的名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值