缺少 WEB-INF - 将 JAR 文件添加到 Bluemix 中的 Liberty 应用程序

WEB-INF missing - Adding JAR files to a Liberty application in Bluemix

我已经使用 Liberty 样板文件创建了一个应用程序。我添加了 GIT 来为应用程序创建和填充存储库。我需要向我的应用程序添加一个额外的 .jar 文件。但是,当我转到 GIT 存储库并查看文件结构时,我没有看到 WEB-INF 目录。

如何将 .jar 文件添加到我的项目中,以便这些文件最终位于我的应用程序的 WEB-INF/lib 目录中?

请指教

是的,你是对的,应用程序存储库的结构已经改变,因为构建似乎已经从基于 ant 的构建更改为基于 maven 的构建。如果您想将 jar 添加到标准 java Web 应用程序结构中,该结构期望 jar 位于 WEB-INF/lib 文件夹中,您需要定义一个指向该 jar 的依赖项。所有 Maven 依赖项都需要来自存储库,因此在您可以为 jar 定义依赖项之前,您需要声明一个包含 jar 的本地存储库。以下是您可以遵循的步骤:

  1. 在项目的根目录中 GIT 创建新文件夹并将其命名为 'repo'
  2. 在 'repo' 文件夹中创建一个文件夹结构,它定义了 jar 来自的项目和 jar 的版本,例如:/com/mycomp/myproject/1.0
  3. 将 thejar.jar 导入 'repo/com/mycomp/myproject/1.0/ 文件夹
  4. 将 thejar.jar 重命名为 thejar-1.0.jar(或您使用的任何版本);
  5. 在 pom.xml 文件中添加以下内容:

    <repositories>
     <repository>
      <id>ProjectRepo</id>
      <name>ProjectRepo</name>
      <url>file://${project.basedir}/repo</url>
     </repository>
    </repositories>
    
    <dependencyManagement>
     <dependencies>
      <dependency>
       <groupId>com.mycomp.myproject</groupId>
       <artifactId>thejar</artifactId>
       <version>1.0</version>
      </dependency>
     </dependencies>
     </dependencyManagement>
    
    <dependencies>
     <dependency>
      <groupId>com.mycomp.myproject</groupId>
      <artifactId>thejar</artifactId>
      <scope>compile</scope>
     </dependency>
    </dependencies>
    
  6. 提交并推送更改。您应该在 war WEB-INF/lib/thejar.jar 中看到 我希望它有所帮助。请让我知道它是如何为你工作的。祝你好运。克里斯