如何在SpringBoot中配置额外的类路径?

col17t5w  于 2023-03-07  发布在  Spring
关注(0)|答案(4)|浏览(305)

我想做一个独立的网络应用程序。我有一些问题与SpringBoot。
我的应用程序是SpringBoot中的一个jar文件。
但是我的应用程序通常需要jdbc驱动程序jar。我想为我的应用程序排除jdbc驱动程序jar,并从lib文件夹中读取库jar。
但是SpringBoot lib文件夹是BOOT-INF/lib,所以,我想为jdbc驱动程序jar添加外部类路径(lib)。
如何在SpringBoot中配置额外的类路径,有吗?

rqdpfwrv

rqdpfwrv1#

可以使用loader.path参数定义外部lib文件夹的位置。该文件夹下的所有jar文件都将添加到类路径中。例如,如果要将C:\extLib定义为外部lib文件夹,可以执行以下操作:

java -Dloader.path=/C:/extLib/ -jar aapName.jar

要使其正常工作,您需要使用PropertysLauncher。有两种方法可以实现这一点:

    • 备选案文1**

更新项目pom.xml并添加以下标记:

<configuration>  <!-- added -->
  <layout>ZIP</layout> <!-- to use PropertiesLauncher -->
</configuration>

有效的构建标记,更新后的内容如下所示:

<build> 
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>  <!-- added -->
                <layout>ZIP</layout> <!-- to use PropertiesLauncher -->
            </configuration>
        </plugin>
    </plugins>
</build>
    • 备选案文2**

从命令行启动应用程序时,请使用PropertysLauncher:

java -cp aapName.jar -Dloader.path=/C:/extLib/ org.springframework.boot.loader.PropertiesLauncher

参考文献:
How to add jars to SpringBoot classpath with jarlauncher

nhhxz33t

nhhxz33t2#

您可以参考下面的链接从 Spring Boot :
https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html#executable-jar-property-launcher-features
可以使用loader.path属性定义lib文件夹位置

kx7yvsdv

kx7yvsdv3#

在我的例子中,需要“引号来查找Windows平台上的外部lib文件夹

java -cp ScoreExtractionApp.jar -Dloader.path="lib" -Dloader.main=com.sample.score.ScoreExtraction.ScoreExtractionApplication org.springframework.boot.loader.PropertiesLauncher
1aaf6o9v

1aaf6o9v4#

您可以使用maven jar插件在maven中配置类路径

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
      <configuration>
        <archive>
            <manifestEntries>
                <Class-Path>conf/</Class-Path>
            </manifestEntries>
       <manifest>
           <addClasspath>true</addClasspath>
           <classpathPrefix>lib/</classpathPrefix>
       </manifest>
    </archive>
   </configuration>
</plugin>

相关问题