我制作了一个弹簧网络应用程序。它适用于lib文件夹中的jar,但我需要将其中一些解压缩。我知道拆包不是最好的做事方式,但我需要解压缩。
我自己创造了这些罐子。我需要能够访问模块特定的属性文件。在您提出问题之前,我已经考虑过将它们放在外部并将它们移动到war文件夹中,但由于某些功能,这两种方法在这种情况下都无法使用。我正在处理一个糟糕的旧程序。所以我的选择有限。我正试图让我的一些依赖项爆炸。我设法爆炸了一个jar并把它放在'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?
然而,它似乎无法识别爆炸的文件夹。那我忘记了什么?他们必须位于其他地方吗?或者我是否需要对新文件夹进行一些引用?
提前致谢!
编辑:我已经要求版主删除此主题。因为我已经使用上述主题解决了它。而且由于尚未找到问题的答案。
答案 0 :(得分:0)
不要提取jar文件的内容。没有必要这样做。出于某种原因,它们被打包成jar文件。将jar文件放在WEB-INF目录下的lib目录中。 Tomcat将自己发现它们的内容。
MyWebApp
|
|_ WEB-INF
|
|_ lib
|
|_ commons_1.0.jar
|_ email_1.3.jar