当前位置: 首页 > 知识库问答 >
问题:

如何在不修改应用程序(xxx.jar)的情况下使用classpath上的额外文件运行Spring Boot应用程序

谷梁宁
2023-03-14

我想运行一个Spring Boot应用程序,在类路径上有一个额外的文件(碰巧是一个css)。我不能碰jar(应用程序本身)。我只能修改开始脚本。

#! /bin/sh
commandline="java -jar xxx-1.0.0.jar"
commandline="$commandline --spring.config.location=../config/xxx.properties"
commandline="$commandline --logging.config=../config/log4j2.xml"
$commandline

我最初的尝试是用-cp添加一个文件夹,并将文件放入该文件夹。但是,这是行不通的,因为-cp和-jar不兼容(这里有很好的解释:“java-cp”和“java-jar”之间的区别?)

然后,我找到了使用PropertiesLauncher+Loader.path的建议,它可以被看作是命令行上类路径的替换(https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html#executable-jar-property-launcher-features)。然而,为了使用PropertiesLauncher,示例建议修改pom,但我不能这样做(Spring Boot:是否可以使用外部application.properties文件在任意目录中使用fat JAR?)

我能做的是修改shell脚本。

共有1个答案

冯卜鹰
2023-03-14

这也适用于我:

#! /bin/sh
commandline="java -cp ../css:xxx-1.0.0.jar org.springframework.boot.loader.JarLauncher"
commandline="$commandline --Spring.config.location=../config/xxx.properties"
commandline="$commandline --logging.config=../config/log4j2.xml"
$commandline

在我的例子中,这似乎比使用PropertiesLauncher更简单。

 类似资料:
  • 我在我的项目中使用带有MongoDb和Elasticsearch的Springboot。当我的Elasticsearch服务器运行时,我的Springboot应用程序运行良好,但当Elasticsearch服务器停止时,我的Springboot应用程序也无法启动。根据我的项目要求,即使Elasticsearch服务器无法启动,我们的Springboot应用程序仍应运行,因为我们的大多数API都是基

  • 我有一个带有maven的spring boot应用程序,并使用Hikari数据源连接Mysql数据库。但当我运行spring boot应用程序时,HikariPool关机启动如下: 我将属性文件配置如下,并且可以通过正常使用单元测试来获得数据查询: 任何人都可以为我提供解决此问题的解决方案。谢谢

  • 我有一个在HTTP上工作的spring boot应用程序。我不想接触该应用程序--所以没有密钥库等。我想使用反向代理--即请求将通过TLS登陆到其他机器,并将通过安全套接字层重定向到我的spring boot应用程序。如何完成? 编辑:当我试图登录到该网站时,开发人员工具控制台告诉我:“混合内容:位于'HTTPS://xxxxx-uat.xxxx.com:4200/login'的页面是通过HTTP

  • 问题内容: 我是Node的新手,并创建了一个其中包含一些async / await语法的应用程序,如下所示: 它在我的机器上可以正常工作,但是当我部署到Heroku时,由于不支持语法而出现错误: 使Heroku支持此语法的最简单方法是什么? 问题答案: 指定要在package.json中使用的节点版本:https : //devcenter.heroku.com/articles/nodejs-s

  • 问题内容: 我用的是需要挂钩的BabelJS(原名6to5)与运行节点的应用程序es6features: 我打电话来运行我的 app.js6 。我需要安装BabelJS并为我想使用es6features的每个项目提供一个 run.js。 我希望打个电话。如何独立实现该系统(Unix和Windows)? 问题答案: 将and (又名ES6)依赖项添加到应用程序的package.json文件中,并定义

  • 我使用创建了一个应用程序构建文件。这将用和文件填充文件夹。 我在internet上进行了搜索,发现可以使用运行这些文件。不幸的是,这会产生以下错误输出: org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.boot.autocigure.orm.jpa.hibernatejpaAutoCo