gpt4 book ai didi

java - 如何添加新的 jar 文件作为 Java Maven Web 项目的 POM.xml 的依赖项?

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

我想从我的 java web (Maven) 项目连接到 Lotus Notes (8.5.3) 数据库。经过一番搜索,为了通过 CORBA DIIOP 从我的 java web 项目连接到 Lotus Notes 数据库,我需要将 NCSO.jar 添加为我的 Maven Java Web 项目的新依赖项。我找到了这个链接:How to add\install to maven dependency of newly created\third party jar in pom.xml ,但我仍然不知道如何让它发挥作用。我可以从本地计算机找到 NCSO.jar,但根据该链接,我需要为此文件创建自己的存储库,然后将其添加到我的 pom.xml 文件中。这是我第一次向我的 java web 项目 (pom.xml) 添加 .jar 依赖项。在我的java web项目中,我有EJB部分和Web部分,并且每个部分都有pom.xml。不知道如何将此 .jar 添加到 pom.xml。

 my java IDE is built on eclipse, the current workspace structure is like this: The current workspace called: developer, it contains followings: 
developer
workspaces (folder)
Java-2014prj (folder)
.settings (folder)
projEAR (folder)
projEJB (folder)
projWeb (folder)
src (folder)
.project
pom.xml

is this the correct commands? and if this is correct and no errors, what should I do after the command executed? are all POM.xml added the NCSO.jar?
c:\developer>mvn install:install-file
Dfile=c:\NCSO.jar
DgroupId=lotus
DartifactId=domino
Dversion=1.0.0
Dpackaging=.jar
DgeneratePom=true

projEAR、projEJB 和 projWeb 也各自包含 pom.xml。NCSO.jar 位于我本地的 c:/NCSO.jar 中。所以我想我应该在窗口命令(黑色)屏幕上运行代码。我应该在项目顶部文件夹 c:\developer 上运行它吗?或者一些子文件夹?我不知道如何创建我的本地存储库?有人可以向我提供更多详细信息吗?谢谢。

<小时/>

编辑 - 我的结果基于 axiopisty 的说明如下

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] PARENT project of MARKETPROJ
[INFO] EJB project of MARKETPROJ
[INFO] WAR project of MARKETPROJ
[INFO] EAR project of MARKETPROJ
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven
-install-plugin/2.4/maven-install-plugin-2.4.pom
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:mave
n-install-plugin:2.4: Plugin org.apache.maven.plugins:maven-install-plugin:2.4 o
r one of its dependencies could not be resolved: Failed to read artifact descrip
tor for org.apache.maven.plugins:maven-install-plugin:jar:2.4
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven
-deploy-plugin/2.7/maven-deploy-plugin-2.7.pom
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:mave
n-deploy-plugin:2.7: Plugin org.apache.maven.plugins:maven-deploy-plugin:2.7 or
one of its dependencies could not be resolved: Failed to read artifact descripto
r for org.apache.maven.plugins:maven-deploy-plugin:jar:2.7
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven
-site-plugin/3.3/maven-site-plugin-3.3.pom
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:mave
n-site-plugin:3.3: Plugin org.apache.maven.plugins:maven-site-plugin:3.3 or one
of its dependencies could not be resolved: Failed to read artifact descriptor fo
r org.apache.maven.plugins:maven-site-plugin:jar:3.3
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven
-antrun-plugin/1.3/maven-antrun-plugin-1.3.pom
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:mave
n-antrun-plugin:1.3: Plugin org.apache.maven.plugins:maven-antrun-plugin:1.3 or
one of its dependencies could not be resolved: Failed to read artifact descripto
r for org.apache.maven.plugins:maven-antrun-plugin:jar:1.3
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven
-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.pom
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:mave
n-assembly-plugin:2.2-beta-5: Plugin org.apache.maven.plugins:maven-assembly-plu
gin:2.2-beta-5 or one of its dependencies could not be resolved: Failed to read
artifact descriptor for org.apache.maven.plugins:maven-assembly-plugin:jar:2.2-b
eta-5
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven
-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:mave
n-dependency-plugin:2.8: Plugin org.apache.maven.plugins:maven-dependency-plugin
:2.8 or one of its dependencies could not be resolved: Failed to read artifact d
escriptor for org.apache.maven.plugins:maven-dependency-plugin:jar:2.8
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven
-release-plugin/2.3.2/maven-release-plugin-2.3.2.pom
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:mave
n-release-plugin:2.3.2: Plugin org.apache.maven.plugins:maven-release-plugin:2.3
.2 or one of its dependencies could not be resolved: Failed to read artifact des
criptor for org.apache.maven.plugins:maven-release-plugin:jar:2.3.2
Downloading: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metada
ta.xml
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven
-metadata.xml
[WARNING] Could not transfer metadata org.apache.maven.plugins/maven-metadata.xm
l from/to central (https://repo.maven.apache.org/maven2): Failed to transfer fil
e: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.
xml. Return code is: 501 , ReasonPhrase:Not Implemented.
[WARNING] Could not transfer metadata org.codehaus.mojo/maven-metadata.xml from/
to central (https://repo.maven.apache.org/maven2): Failed to transfer file: http
s://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml. Return co
de is: 501 , ReasonPhrase:Not Implemented.
[WARNING] Failure to transfer org.apache.maven.plugins/maven-metadata.xml from h
ttps://repo.maven.apache.org/maven2 was cached in the local repository, resoluti
on will not be reattempted until the update interval of central has elapsed or u
pdates are forced. Original error: Could not transfer metadata org.apache.maven.
plugins/maven-metadata.xml from/to central (https://repo.maven.apache.org/maven2
): Failed to transfer file: https://repo.maven.apache.org/maven2/org/apache/mave
n/plugins/maven-metadata.xml. Return code is: 501 , ReasonPhrase:Not Implemented
.
[WARNING] Failure to transfer org.codehaus.mojo/maven-metadata.xml from https://
repo.maven.apache.org/maven2 was cached in the local repository, resolution will
not be reattempted until the update interval of central has elapsed or updates
are forced. Original error: Could not transfer metadata org.codehaus.mojo/maven-
metadata.xml from/to central (https://repo.maven.apache.org/maven2): Failed to t
ransfer file: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metad
ata.xml. Return code is: 501 , ReasonPhrase:Not Implemented.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] PARENT project of MARKETPROJ ............................. SKIPPED
[INFO] EJB project of MARKETPROJ ................................ SKIPPED
[INFO] WAR project of MARKETPROJ ................................ SKIPPED
[INFO] EAR project of MARKETPROJ ................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.624 s
[INFO] Finished at: 2015-01-18T13:30:32-05:00
[INFO] Final Memory: 9M/244M
[INFO] ------------------------------------------------------------------------
[ERROR] No plugin found for prefix 'deploy' in the current project and in the pl
ugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the rep
ositories [local (C:\Users\jsmith\.m2\repository), central (https://repo.maven.apa
che.org/maven2)] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoPluginFoundF
orPrefixException

********************************
**EDIT again:**
I just checked my pom.xml again, and found we have these codes
<!-- local file-based repository on the team's shared drive -->
<repository>
<id>MARKETPROJ-repo-local</id>
<name>MARKETPROJ File Based Internal Repository</name>
<url>file://\\mark\mark_shrdata\MARKETPROJ\maven2\repo</url>
</repository>

最佳答案

如果您的依赖项在公共(public)存储库中不可用,您需要将依赖项安装到本地 Maven 存储库中。您可能会想将其安装到您的 ~/.m2/repository 中,这是该问题的其他答案所指出的方法。如果这样做,构建将在该机器上正常工作。但这不是最好的解决方案。事实上,这是一个糟糕的解决方案,因为项目构建依赖于这个手动安装的 Artifact 。如果删除 ~/.m2/repository 目录,您的构建将会失败,因为该 Artifact 将不再位于存储库中。

如果您必须在本地安装依赖项,最好将其安装到项目本地存储库中,并将整个存储库提交到版本控制系统中。这样,如果您与其他人(包括您自己在另一台计算机上)共享您的项目,则该构建仍然适用于其他人,并且他们也不必在本地安装依赖项。

详细说明请参见此处:https://devcenter.heroku.com/articles/local-maven-dependencies

例如,如果您的项目如下所示:

yourproject
+- pom.xml
+- src

然后你可以像这样创建一个项目本地存储库:

yourproject
+- pom.xml
+- src
+- repo

然后使用以下命令将依赖项安装到项目本地存储库中:

mvn deploy:deploy-file -Durl=file:///path/to/yourproject/repo/ -Dfile=NCSO.jar -DgroupId=ncso -DartifactId=ncso -Dpackaging=jar -Dversion=1.0

所以你的项目现在看起来像这样:

yourproject
+- pom.xml
+- src
+- repo
+- nsco
+- ncso
+- maven-metadata.xml
+- ...
+- 1.0
+- ncso-1.0.jar
+- ncso-1.0.pom
+- ...

然后告诉您的项目 pom.xml 文件有关您的项目本地存储库的信息:

<repositories>
<!--other repositories if any-->
<repository>
<id>project.local</id>
<name>project</name>
<url>file:${project.basedir}/repo</url>
</repository>
</repositories>

并将项目本地依赖项添加到 pom.xml:

<dependency>
<groupId>ncso</groupId>
<artifactId>ncso</artifactId>
<version>1.0</version>
</dependency>

编辑 - 根据评论中的问题。

假设你已经把需要部署到你的项目本地maven仓库的依赖临时存储在C:盘根目录下,并且你的项目也存储在C:盘根目录下,那么你的C:盘看起来是这样的:

C:/NCSO.JAR
C:/yourproject
C:/yourproject/pom.xml
C:/yourproject/src
C:/yourproject/repo

还假设您在 C: 驱动器根目录中的命令提示符中运行以下命令,那么这将是您用于将依赖项安装到项目本地存储库中的命令:

C:\> mvn deploy:deploy-file -Durl=file:///C:/yourproject/repo/ -Dfile=NCSO.jar -DgroupId=ncso -DartifactId=ncso -Dpackaging=jar -Dversion=1.0

成功运行此命令后,您可以删除文件C:/NCSO.jar。不再需要它,因为它已安装(复制)到您的项目本地存储库中。此时,您还可以将 C:/yourproject/repo 及其所有数据添加到版本控制系统中,以便 repo 文件夹及其内部的所有数据成为项目的永久部分。

关于java - 如何添加新的 jar 文件作为 Java Maven Web 项目的 POM.xml 的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27991382/

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