例如,当我将一个开发良好的开源项目(如lucene)打开到Eclipse(同时包含ant build.xml和ivy ivysetting.xml)时,我可以使用build.xml运行ant来成功构建整个项目。 / p>
然而,该项目在一堆.java类中充满了错误。这是由于与外部罐子断开连接造成的。这些罐子已经被常春藤下载并存储在{user} /.ivy2 / cache /中。此外,当我手动将每个jar放入此项目的构建路径时,错误就消失了。
常春藤或ivyDE或其他工具可以自动将jar放入JAVA构建路径吗?
这是ivy-setting.xml:
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info
organisation=""
module="lucene-5.0.0"
status="integration">
</info>
<ivysettings>
<settings defaultResolver="default"/>
<property name="local-maven2-dir" value="${user.home}/.m2/repository/" />
<properties file="${ivy.settings.dir}/ivy-versions.properties" override="false"/>
<include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-local.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>
<caches lockStrategy="artifact-lock" resolutionCacheDir="${common.build.dir}/ivy-resolution-cache" />
<resolvers>
<ibiblio name="sonatype-releases" root="https://oss.sonatype.org/content/repositories/releases" m2compatible="true" />
<ibiblio name="maven.restlet.org" root="http://maven.restlet.org" m2compatible="true" />
<ibiblio name="releases.cloudera.com" root="http://repository.cloudera.com/content/repositories/releases" m2compatible="true" />
<!-- needed only for newer svnkit releases, e.g. 1.8.x -->
<ibiblio name="svnkit-releases" root="http://maven.tmatesoft.com/content/repositories/releases" m2compatible="true" />
<!-- you might need to tweak this from china so it works -->
<ibiblio name="working-chinese-mirror" root="http://uk.maven.org/maven2" m2compatible="true" />
<!--
<filesystem name="local-maven-2" m2compatible="true" local="true">
<artifact
pattern="${local-maven2-dir}/[organisation]/[module]/[revision]/[module]-[revision].[ext]" />
<ivy
pattern="${local-maven2-dir}/[organisation]/[module]/[revision]/[module]-[revision].pom" />
</filesystem>
-->
<chain name="default" returnFirst="true" checkmodified="true" changingPattern=".*SNAPSHOT">
<resolver ref="local"/>
<!-- <resolver ref="local-maven-2" /> -->
<resolver ref="main"/>
<resolver ref="maven.restlet.org" />
<resolver ref="sonatype-releases" />
<resolver ref="releases.cloudera.com"/>
<!-- <resolver ref="svnkit-releases" /> -->
<resolver ref="working-chinese-mirror" />
</chain>
</resolvers>
</ivysettings>
</ivy-module>
答案 0 :(得分:1)
如果你使用Ivy Eclipse plugin,那就是。如果已安装,则需要将IVY运行时添加到项目的构建路径中。这可以通过Project Properties-&gt; Libraries选项卡下的Java Build Path完成,选择Add Library然后选择IvyDE Managed Dependencies。
一旦完成,Ivy resolve会将ivy.xml中指定的所有jar添加到项目的构建路径中。
答案 1 :(得分:-1)
您需要将ivysettings.xml文件添加到项目中并在首选项(窗口 - &gt;首选项 - &gt;常春藤 - &gt;设置:常春藤设置路径)中进行设置。当它不存在时,常春藤不知道在哪里寻找依赖。
(也许将文件添加到您的某个项目就足够了,但我不确定。)