我的专业领域不是Java。我在其他平台上使用其他语言进行开发。
现在我正在为一个项目开发一系列 Java servlet。这些 servlet 将在运行 FileNetP8 的 CentOS 服务器上运行。
我实际上已经完成并运行了所有计划的项目。
现在,当我尝试添加更多服务时,我遇到的库可以通过 Maven 访问。我不知道 Maven 是什么。今天阅读一下。创建了一个测试项目来尝试一下。
我的开发环境是 Windows 10 上的 Eclipse Photon。
现在我的问题是我不知道如何将 Filenet JAR 添加到项目中。我无法将它们上传到某些 Maven 存储库。搜索网络说将它们添加到本地存储库,但我不明白如何在 Eclipse 内置 Maven 中的本地存储库中执行此操作。
我认为 JAR 不需要打包在部署 WAR 中,因为应用程序将部署到运行 Filenet 的 Websphere 服务器上,因此它们应该在该服务器上可用。我应该将它们添加为外部 JAR 引用来编译项目吗?
最佳答案
我在下面提供了以下方法来根据您的适合性进行检查。
方法 1:手动安装
如果您只有 1 个 jar 文件,请根据您的要求替换执行以下命令。
mvn install:install-file \
-Dfile=<file path location> \
-DgroupId=<your own custom group id> \
-DartifactId=<your own custom artifact id> \
-Dversion=<some version number> \
-Dpackaging=jar \
-DgeneratePom=true
完成后,在项目 pom.xml 的依赖项部分使用以下内容。
<dependency>
<groupId>your own custom group id</groupId>
<artifactId>your own custom artifact id</artifactId>
<version>some version number</version>
</dependency>
上述方法的缺点是,只有您可以使用它,因为它安装在您的 .m2 目录中。对于其他开发人员来说,他们必须遵循相同的方法。这不是建议的方法。
方法2:手动添加jar文件的位置
在pom.xml中添加以下依赖
<dependency>
<groupId>some.group.id</groupId>
<artifactId>some.artifat.id</artifactId>
<version>some.version.no</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/yourActualJarFileName.jar</systemPath>
</dependency>
上述方法的缺点是,您必须将所有 jar 文件放在一个目录中,并且必须提供路径。所有的 jar 文件都应该是项目的一部分,这意味着所有的 jar 文件都应该放在源代码存储库中。虽然它达到了目的,但仍然不是一个好方法。如果您有更新/更高版本的 jar 文件,您必须再次将其放入 lib 目录中。这意味着您已经管理了所有新旧版本的jar文件。
最佳方法
维护 Nexus 或 Artifactory,或组织中的任何 Artifact 管理系统,放置所有 jar 文件并提供自定义 jar 文件的定义。它将为您提供 pom 定义。基于此,您必须在项目 pom.xml 中添加依赖项。在这里您可以维护自定义 jar 文件的 n 个版本。
关于java - 如何将第 3 方 JAR 添加到 Maven 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56346917/