gpt4 book ai didi

java - 如何使用分解的 jar 依赖项?

转载 作者:行者123 更新时间:2023-11-28 22:02:57 25 4
gpt4 key购买 nike

我制作了一个 spring web 应用程序。它适用于 lib 文件夹中的 jar ,但我需要解压其中的一些。我知道打开包装不是最好的做事方式,但我需要打开包装。

我自己创建了 jar 。我需要能够访问模块特定的属性文件。同样在你问之前,我已经考虑过将它们放在外部并将它们移动到 war 文件夹,但是由于某些功能,这两种方法在这种情况下都不可用。我正在使用一个旧的糟糕的程序。所以我的选择是有限的。

我正试图让我的一些依赖性爆炸。我已经成功地分解了一个 jar 并将它放在我部署的 war 中的 'WEB-INF\classes\< modulename>' 中,使用:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>unpack</id>
<phase>process-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>module1</artifactId>
<version>${project.version}</version>
<type>jar</type>
<outputDirectory>${project.build.outputDirectory}/module1</outputDirectory>
<overWrite>false</overWrite>
</artifactItem>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>module2</artifactId>
<version>${project.version}</version>
<type>jar</type>
<outputDirectory>${project.build.outputDirectory}/module2</outputDirectory>
<overWrite>false</overWrite>
</artifactItem>
</artifactItems>
<overWriteReleases>false</overWriteReleases>
</configuration>
</execution>
</executions>
</plugin>

我已将原始依赖项设置为提供的范围,如本文所述:

Building a WAR project with unzipped JAR dependency?

但是它似乎无法识别展开的文件夹。那我在这里忘记了什么?他们必须位于其他地方吗?或者我是否需要对新文件夹进行一些引用?

提前致谢!

编辑:我已要求版主删除该主题。因为我已经使用上述主题解决了它。并且由于该问题还没有答案。

最佳答案

不要提取 jar 文件的内容。没有必要那样做。它们被打包成 jar 文件是有原因的。将您的 jar 文件放在 WEB-INF 目录下的 lib 目录中。 Tomcat 将自行发现它们的内容。

MyWebApp
|
|_ WEB-INF
|
|_ lib
|
|_ commons_1.0.jar
|_ email_1.3.jar

关于java - 如何使用分解的 jar 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21584669/

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