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

标签 java spring maven tomcat

我制作了一个 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/

相关文章:

java - 使用 java 将 jTable 内容打印到一张纸条

java - 对于在 Java/Swing 中创建流畅的动画来说,这是一个很好的设计吗?

java - Intellij maven 项目编译 fatal error : invalid flag: --release

maven - 如何配置单个 Jenkins 作业以从主干或分支进行发布过程?

java - 是否可以在标题阅读对话框的底部添加消息栏/工具栏?

java - 使用 ByteBuddy : "class redefinition failed: attempted to add a method" 重新定义方法时出错

java - Autowiring 和计时器任务的问题

Spring 集成 HTTP 到 Scatter Gather

java - Spring Autowiring 静态接口(interface)类

android - 在 Android Studio 中生成 Google App Engine 后端的问题