gpt4 book ai didi

java - 在 Jbossas OpenShift 应用程序中包含自定义 JAR

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:02 24 4
gpt4 key购买 nike

我一直在尝试按照说明在 openshift 上的 Java 应用程序中包含自定义 JAR 文件。这是我正在遵循的说明的链接 https://developers.openshift.com/en/jbossas-dependencies.html 。这些告诉您将所需的 JAR 文件包含在 src/main/webapp/WEB-INF/lib/文件夹中。

不幸的是,部署的代码报告编译错误,因为它没有在其构建路径中包含 JAR 文件。

我看过一些关于此问题的其他帖子(例如 Maven build not finding custom jar already installed in local openshift project repo ),这些帖子提出了一种解决方案,其中涉及将自定义 JAR 文件安装到 Maven 存储库中并通过 pom.xml 文件引用它。但它们都指的是 OpenShift 开发人员门户上的损坏链接。特别是这个https://www.openshift.com/kb/kb-e1040-using-your-own-jar-files-in-a-java-application出现了很多。但链接已损坏,因此它们都缺少关键上下文,或者可能已经过时了。无论哪种方式,我都很难在没有链接的情况下关注他们。

编辑

按照下面 Michael Dibbets 提供的链接找到我上面提到的损坏链接的存档副本后,我发现了更多说明。如果您点击链接,您可以看到他们告诉我使用 pre_build 文件将 Jar 文件安装到 Maven 存储库。不幸的是,引用存储库中 Jar 文件的说明中给出的地址不正确。经过一番摆弄后,我设法使用以下指令使其工作 [mvn install:install-file -Dfile=../56e1739d0c1e665da800001f/app-root/repo/Test.jar -DgroupId=org.tfl -DartifactId=test -Dversion=1.0 -Dpackaging=jar]。这串数字是您可以从 Web 控制台或其他地方获取的应用程序名称。对于如此简单的事情来说,它就像泥一样清晰,而 Openshift 的有关它的信息似乎绝对不正确(历史和当前信息)。

最佳答案

正确的方法是使用 EAR 项目,但您也可以创建一个项目存储库,这正是您所要求的。

1:在项目的根目录中创建一个名为 repo 的目录。

2:使用 maven install-file 安装 jar,并将 -DlocalRepositoryPath=path-to-specific-local-repo 设置为您的存储库目录。例如:

mvn install:install-file -Dfile=path-to-your-artifact-jar 
-DgroupId=your.groupId
-DartifactId=your-artifactId
-Dversion=version
-Dpackaging=jar
-DlocalRepositoryPath=path-to-specific-local-repo

3:修改您的 pom 文件以使用此本地存储库:

<repositories>
<repository>
<id>project.local</id>
<name>project</name>
<url>file:${project.basedir}/repo</url>
</repository>
</repositories>

4:确保它在本地构建。您可能需要从本地 .m2 存储库中清除项目 jar,然后使用 mvn clean verify 构建项目,以确保正确构建 .war 文件。之后,它应该可以很好地部署到 OpenShiftHeroku

关于java - 在 Jbossas OpenShift 应用程序中包含自定义 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35918947/

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