常春藤或ivyDE可以在Eclipse中自动将相关的jar添加到JAVA构建路径库中吗?

时间:2015-03-11 15:26:16

标签: java eclipse ant ivy

例如,当我将一个开发良好的开源项目(如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>

2 个答案:

答案 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;设置:常春藤设置路径)中进行设置。当它不存在时,常春藤不知道在哪里寻找依赖。

(也许将文件添加到您的某个项目就足够了,但我不确定。)