现有一个springboot项目,通过扫描二维码查询信息,比如一棵树,扫描二维码后可以看到他相关的信息。但这个项目不止有树类型,还有道路,某个物品。所以将项目分模块开发,核心模块作为一个jar包,复制提供基础服务如数据导入导出。各类型构建成单独的jar。部署时需要那种类型就加载对应的jar。这样做是为了满足不同客户需求。
尝试:
java -Xbootclasspath/a:file:./libs -jar main.jar
,运行后并没有加载libs中的jarjava -Djava.ext.dirs=file:./libs -jar main.jar
,启动异常
错误: 找不到或无法加载主类 .ext.dirs=file:..libs原因: java.lang.ClassNotFoundException: /ext/dirs=file://libs
java -Dloader.path=file:./libs -jar main.jar
与第2种一样错误请问需要使用什么方式才能在启动时同时加载外部jar呢?
这个需要你实现一套插件加载机制。下面是我写的一个示例项目:
https://github.com/yiding-he/spring-boot-plugin-demo
这是一个在 Spring Boot 项目中实现插件机制的例子。其中包含三个模块:
其中 main-service 和 plugin-sample 都依赖 plugin-api 模块。
这个插件机制的特点在于:
运行方法:
java -classpath './libs*:main.jar' org.springframework.boot.loader.launch.JarLauncher# orjava -cp './libs*:main.jar' org.springframework.boot.loader.launch.JarLauncher
使用 -jar
启动时,-cp
会被忽略。
因此只能将运行 jar 也放入 -cp
中,再使用 main 类启动。
spring boot 的 main 类,打包成 jar 时,会变为 org.springframework.boot.loader.launch.JarLauncher
。
我有一个带有spring boot的java项目,我需要加载应用程序。外部文件夹中的属性和依赖项jar。 我使用该应用程序进行了测试。类路径和加载程序中的属性。路径属性工作正常。 当我使用外部属性文件(我确信它们已被使用)时,加载程序。路径工作不正常,结果为ClassNotFound,因为JAR未加载。 此外,当我启动应用程序与**-Dloader.path=**xxx它的工作正常。 如何使用外部
问题内容: 我已经用Java编写了Thrift服务器来利用特定的Java包/库,但是我不是Java程序员。 问题是; 我看到对服务器的第一个RPC调用超时。Subsequest请求的执行没有任何问题,它仅影响以某些(但必不可少)语言编写的客户端。 我当前的想法是服务器在响应上超时,因为在第一次调用时,服务器必须加载请求所需的所有库。一些Thrift客户端实现必须比其他实现更好地处理超时,这可能会使
我们有一个对外部JAR具有运行时依赖性的应用程序(例如,在Spring boot中运行的Talend作业)。现在,我们可以使用-Dloader从Spring Boot启动它。路径参数。然而,我们无法使用外部lib文件夹运行集成测试(即从Spring Boot测试启动Talend作业)。是否有可能使用SpringBoot测试为集成测试加载外部作业?
问题内容: (此问题与我所见过的许多问题相似,但大多数问题对我的工作不够具体) 背景: 我的程序的目的是使使用我的程序的人可以轻松制作自定义的“插件”,然后将其编译并加载到程序中使用(与在我的程序中实现的不完整,缓慢的解析器相比)。我的程序允许用户将代码输入到预定义的类中,从而扩展了与我的程序一起打包的已编译类。他们将代码输入到文本窗格中,然后我的程序将代码复制到被覆盖的方法中。然后,将其保存为(
本文向大家介绍SpringBoot内部外部配置文件加载顺序解析,包括了SpringBoot内部外部配置文件加载顺序解析的使用技巧和注意事项,需要的朋友参考一下 内部配置加载顺序 SpringBoot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ –file:./ –cl
我正在用Hubot框架开发一个应用程序,使用Heroku。我在Heroku上设置了一些配置变量,当我部署代码时,我的引用可以正常工作。