gpt4 book ai didi

java - Maven NAR 插件 + webapp 中的 Spring boot,在 Tomcat 中加载 .nar Artifact

转载 作者:行者123 更新时间:2023-11-28 23:13:56 29 4
gpt4 key购买 nike

我已经设法将平台依赖项添加到 war 并由 maven-nar-plugin jni Artifact 生成到 WEB-INF/lib/.

但问题是:添加的 Artifact 具有 .nar 扩展名,而 WebappClassLoaderBase 仅向其内部类存储库添加 .jar,所以我的jni 桥未加载且类不可访问,导致 ClassNotFoundException

我在这里有哪些选择?我认为有可能

  1. 以某种方式更改 spring-boot:repackage 上的 Artifact 扩展?
  2. 将此自定义 Artifact 添加到类加载器存储库?

哪个更好,我该如何实现?

最佳答案

好的,所以我得到了 maven-dependency-plugin:

<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${dep.groupId}</groupId>
<artifactId>${dep.artifactId}</artifactId>
<version>${dep.version}</version>
<type>nar</type>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
<destFileName>${dep.artifactId}-${dep.version}.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
</build>

但是,仍然存在重新部署的问题需要处理,所以如果你真的想这样做,这里是方法,但你可能不需要那么难。

关于java - Maven NAR 插件 + webapp 中的 Spring boot,在 Tomcat 中加载 .nar Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53159172/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com