我的专业领域不是Java。我在其他平台上使用其他语言进行开发。
现在,我正在为一个项目开发一系列Java servlet。这些servlet将在运行FileNetP8的CentOS服务器上运行。
我实际上已经完成并运行了所有计划中的项目。
现在,当我尝试添加更多服务时,可以通过Maven访问我遇到的库。我不知道什么是Maven。立即阅读。创建了一个测试项目来进行尝试。
我的开发环境是Windows 10上的Eclipse Photon。
现在,我的问题是我不知道如何将Filenet JAR添加到项目中。我无法将它们上传到某些Maven存储库。搜索Web时说要将它们添加到本地存储库中,但是我不知道如何在Eclipse的内置Maven中将其添加到本地存储库中。
我认为JAR不需要打包在部署WAR中,因为该应用程序将部署到运行Filenet的Websphere服务器上,因此应该可以在其中使用。我应该将它们添加为外部JAR引用以使项目进行编译吗?
答案 0 :(得分:2)
看到每个答案都涉及Maven,我将尝试提供一种不同的,有点古老的方法。您始终可以通过右键单击它->属性->添加罐子来将罐子直接导入到项目中。完成后涂抹,然后上油。这比了解Maven的复杂性要容易得多。
答案 1 :(得分:0)
需要在依赖项标记下的pom.xml中添加依赖项。 Maven将首次从Maven中央存储库下载指定的jar,并将其保存在本地存储库中。 如果依赖项在中央存储库中不可用,并且它们有自己的存储库,则需要在存储库标记中指定它。
<repositories>
<repository>
<id>repo-id</id>
<name>repo-name</name>
<url>http://repourl</url>
</repository>
</repositories>
pom.xml中的任何更改,maven都会自动下载。
<dependencies>
<dependency>
<groupId>dependency-id</groupId>
<artifactId>artifactid</artifactId>
<version>1</version>
</dependency>
</dependencies>
答案 2 :(得分:0)
如果罐子在Maven Central存储库中可用,那么您要做的就是在 pom.xml 文件的“依赖项”下添加依赖项。根据需要设置范围,就像您说的那样,不需要将jar打包在WAR文件中,因为它们可能在服务器上可用,那么您可以将范围设置为提供。
<dependency>
<groupId>groud-id</groupId>
<artifactId>artifact-id</artifactId>
<version>version-numbe</version>
<scope>scope</scope>
</dependency>
如果jar在中央仓库中不可用,而您想将其安装在本地仓库中,则下面的命令应该可以为您提供帮助。更多信息here。
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
答案 3 :(得分:0)
根据您的适合性,我在下面提供了以下检查方法。
方法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或组织中的任何工件管理系统,并放置所有jar文件并提供自定义jar文件的定义。它将为您提供pom定义。基于此,您必须在项目pom.xml中添加依赖项。在这里,您可以维护n个版本的自定义jar文件。