我已经成功安装了JAR到Maven的本地仓库。编辑我的pom.xml包括这些行:Maven - 如何更改pom.xml以将jar安装到本地repo中?
<dependency>
<groupId>org.jcrontab</groupId>
<artifactId>jcrontab</artifactId>
<version>4.0.0</version>
<scope>system</scope>
<systemPath>[somepath]/jcrontab-4.0.0.jar</systemPath>
</dependency>
但是,随着install:install-file
安装后,我觉得这些线是多余的。我只是用它们来安装,当我想“使用”这个jar时,它们是无用的,因为这个jar在本地回购。
所以我把它们改成:
<dependency>
<groupId>org.jcrontab</groupId>
<artifactId>jcrontab</artifactId>
<version>4.0.0</version>
</dependency>
相同的形式,那些存在于远程Maven中央回购的依赖。但现在的Eclipse抱怨:
missing artifact: org.jcrontab:jcrontab:jar:4.0.0
而在Maven依赖库Java构建路径,我看到红十字会的罐子,说:
jcrontab-4.0.0.jar - d: \ DESARROLLO \ Eclipse的JEE-MARS-x86_64的\日食\ $ {maven.home} \平方米\库\组织\ jcrontab \ jcrontab \ 4.0.0(失踪)
在这个目录,我只看到:
jcrontab-4.0.0.jar.lastUpdated jcrontab-4.0.0.pom.lastUpdated
而且没有罐子是存在的。但是这个Eclipse回购库中的其他依赖关系罐在他们的位置。
当我检查我的Maven家回购(<maven-installation-dir>/m2/repository
),罐安装在那里。但在Eclipse目录下的回购中,该jar缺失。
我很困惑。
如果外部JAR安装产生下Maven安装回购一个JAR,为什么月食“Maven依赖”库点下的Eclipse目录回购?
{$maven.home}
目录对我来说很不好。我应该更改本地安装罐子的依赖就像我做了什么?
如所建议的,我执行安装的命令:安装文件,和获取:
C:\Windows\System32>mvn install:install-file -Dfile="D:\desarrollo\Java environment\lib\jcrontab-4.0.0.jar" -DgroupId=org.jcronta
b -DartifactId=jcrontab -Dversion=4.0.0 -Dpackaging=jar
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ standalone-pom ---
[INFO] Installing D:\desarrollo\Java environment\lib\jcrontab-4.0.0.jar to D:\desarrollo\Java environment\lib\Maven\apache-maven-3.5.0\bin\..\m2\repository\org\jcrontab\jcrontab\4.0.0\jcrontab-4.0.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.597 s
[INFO] Finished at: 2017-08-03T14:27:48+02:00
[INFO] Final Memory: 6M/114M
[INFO] ------------------------------------------------------------------------
所以,首先,我不应该改变我的pom.xml,因为如果我编辑其他人,它会只解决远程回购,并没有办法解决本地回购,对吧?但是我认为在我的最终pom.xml中添加“install-file”部分是丑陋的......我该如何解决以及针对本地回购? – FaithReaper
maven首先从本地回购解决了依赖关系,如果不是从maven central(或其他配置的maven库)提供的话。但是你可以使用标志-o(离线)来强制maven只从本地存储库解析。 在这里,你的问题是你没有把jar放到你的本地仓库 – Prim
谢谢。但是我已经将它安装到maven本地回购库中,正如我在OP的第一行所述。罐子在那里。但Eclipse似乎无法找到它。 – FaithReaper