标签: ivyde

如何在Scala IDE中将源附加到SBT托管依赖项?

我正在使用Scala IDE 2.0.1和SBT 0.11.2从Akka 2.0.1开始.我的build.sbt看起来像这样:

name := "akka"

version := "0.1"

scalaVersion := "2.9.2"

resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"

libraryDependencies += "com.typesafe.akka" % "akka-actor" % "2.0.1"
Run Code Online (Sandbox Code Playgroud)

如你所见,没有什么了不起的.

现在,我如何告诉Eclipse将工件与源分类器一起用于akka-actor库?

在SBT中,我可以使用update-classifiers将源代码和Javadocs下载到Ivy存储库,但即使我在从sbteclipse插件运行eclipse命令之前执行此操作,Eclipse仍然不知道源代码.当然,我可以手动执行此操作,但这对于更多库来说不能很好地扩展.

我还尝试将IvyDE插件与deliver-local命令一起使用.虽然这集成了依赖关系管理,但它似乎对源代码没有帮助.

有线索吗?

编辑:这是从deliver-local生成的ivy.xml:

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="default" module="akka_2.9.2" revision="0.1" status="release" publication="20120506225613">
    <description>
    akka
    </description>
</info>
<configurations>
    <conf name="compile" visibility="public" description=""/>
    <conf name="runtime" visibility="public" description="" extends="compile"/>
    <conf name="test" visibility="public" description="" extends="runtime"/>
    <conf name="provided" visibility="public" description=""/>
    <conf name="optional" visibility="public" description=""/>
    <conf name="sources" visibility="public" description=""/>
    <conf name="docs" visibility="public" …
Run Code Online (Sandbox Code Playgroud)

scala ivy sbt ivyde scala-ide

28
推荐指数
3
解决办法
8982
查看次数

如何附上用常春藤下载的库的源代码

我使用ivy和ivy eclipse插件来下载依赖项.效果很好.但是,我如何附加这些库的源代码,以便进入这些库?

java eclipse ivy ivyde

18
推荐指数
1
解决办法
6584
查看次数

使用IvyDE设置项目

是否有任何关于IvyDE的优秀示例项目或有关在Eclipse中使用IvyDE设置项目的教程?

eclipse ivy ivyde

11
推荐指数
2
解决办法
2万
查看次数

Eclipse和IvyDE警告:Classpath依赖性验证器消息

我在Eclipse Kepler中创建了一个新的Dynamic Web Project,因为这是我第一次使用IvyDE,我将一些依赖项用于测试它.这是我的ivy.xml:

<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="net.myorg"
        module="mymodule"
        status="integration">
    </info>
    <dependencies>
       <dependency org="org.hibernate" name="hibernate-entitymanager" rev="4.2.3.Final"></dependency>
       <dependency name="log4j" rev="1.2.17" org="log4j"></dependency>
    </dependencies>
</ivy-module>
Run Code Online (Sandbox Code Playgroud)

已解决的依赖项,我可以在项目库中看到它们.

但在此之后,我的项目开始发出警告:

Description Resource    Path    Location    Type
Classpath entry org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=myproject&ivyXmlPath=ivy.xml&confs=*&acceptedTypes=jar%2Cbundle%2Cejb%2Cmaven-plugin&alphaOrder=false&resolveInWorkspace=true&retrievedClasspath=true&retrievedClasspathPattern=lib%2F%5Btype%5Ds%2F%5Bartifact%5D-%5Brevision%5D.%5Bext%5D&retrievedClasspathSync=true&retrievedClasspathTypes=* will not be exported or published. Runtime ClassNotFoundExceptions may result.      myproject       P/myproject Classpath Dependency Validator Message
Run Code Online (Sandbox Code Playgroud)

因此,如果我理解正确,Eclipse会警告我类路径中的IvyDE条目与构建项目中的资源不对应.我想这是预期的行为,如果是这样,有没有办法从项目中删除此警告,而不禁用每个Classpath Dependency Validator Message

java eclipse ivyde

8
推荐指数
1
解决办法
9784
查看次数

常春藤下载比预期更多的罐子

简介: Ivy正在下载比我预期更多的罐子,我不知道为什么.

详细信息: 我正在将我的项目从使用Maven Ant Tasks进行依赖管理转换为Ivy.

到目前为止,我已经完成了以下工作:

  1. 将IvyDE安装到Eclipse(Helios)中
  2. 创建了一个ivy.xml
  3. 由于我以前成功使用Maven Ant Tasks,因此我将我的den.xml从build.xml复制到了ivy.xml.我确保更改依赖声明以使用Ivy格式(org,name,rev).
  4. 在我的Eclipse项目中添加了IvyDE类路径容器.

现在,当我在Eclipse中运行Ivy> Resolve时,我可以看到279个jar被下载到".ivy2\cache".这超过了Maven Ant Tasks之前下载的65个罐子.

为什么常春藤会让更多的罐子掉下来?据我所知,常春藤也在减少源和一些javadoc罐子.这解释了一些额外的罐子,但我最多认为常春藤应该下载195罐(65*3)而不是279.

我错过了什么或做错了什么?我很感激任何反馈和建议.

这是我的ivy.xml的内容

<?xml version="1.0" encoding="ISO-8859-1"?>

<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="org.robbins"
    module="FlashCardsWeb"
    status="integration">
</info>

<dependencies>

    <dependency org="org.apache.struts" name="struts2-core" rev="2.2.3"/>

    <dependency org="org.apache.struts" name="struts2-spring-plugin" rev="2.2.3">
        <exclude org="org.springframework" name="spring-web" />
        <exclude org="org.springframework" name="spring-beans" />
        <exclude org="org.springframework" name="spring-context" />
        <exclude org="org.springframework" name="spring-core" />
    </dependency>

    <dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" name="spring-beans" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" name="spring-context" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" name="spring-core" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" name="spring-jdbc" rev="3.0.5.RELEASE"/>
    <dependency org="org.springframework" …
Run Code Online (Sandbox Code Playgroud)

eclipse ivy ivyde

7
推荐指数
1
解决办法
1381
查看次数

使用Ant和Ivy解析javadoc文件

我想让Ivy同时获取log4j .jar和JavaDocs.现在,我走到了尽头.如果我在我的ivy.xml中使用它...

<dependency org="log4j" name="log4j" rev="1.2.16"/>
Run Code Online (Sandbox Code Playgroud)

...然后我得到.jar文件.但是当使用这个ivysettings.xml时......

<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
    <settings  
            defaultResolver="default"
            defaultConflictManager="all" />
    <resolvers>
        <url name="default" m2compatible="true">
            <artifact pattern="http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
            <artifact pattern="http://repo2.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
        </url>
    </resolvers>
</ivysettings>
Run Code Online (Sandbox Code Playgroud)

...和这个ivy.xml ......

<?xml version="1.0" encoding="UTF-8"?>
<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="foo" module="bar"/>
    <dependencies>
        <dependency org="log4j" name="log4j" rev="1.2.16">
            <artifact name="log4j" type="jar" ext="jar"/>
            <artifact name="log4j" type="javadoc" ext="jar"/> 
        </dependency>
    </dependencies>
</ivy-module>
Run Code Online (Sandbox Code Playgroud)

...然后我收到此错误消息: java.lang.RuntimeException:模块log4j#log4j; 1.2.16的多个工件被检索到同一个文件!更新检索模式以修复此错误.

我在这里缺少什么?如何让Ivy解决JavaDoc和.jar文件?

编辑:感谢目前为止所有快速而详细的回复.这是我更新的ivy.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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="foo" module="bar"/>
    <configurations>
        <conf name="default" visibility="public"/>
        <conf name="compile" visibility="public"/>
        <conf name="master"  visibility="public"/> …
Run Code Online (Sandbox Code Playgroud)

ant ivy ivyde

6
推荐指数
1
解决办法
4246
查看次数

通过WTP将依赖项目部署到Tomcat

我们目前正在使用MyEclipse在开发期间将项目部署到Tomcat.我们想转储MyEclipse并切换到WTP.我正在使用Eclipse 3.7.

我们的项目布局有一个"网络"项目和一个"模块"项目.

我希望能够让每个项目都有自己的常春藤文件,使用IvyDE声明其依赖关系,创建依赖于这些jar的Eclipse库,并将这些jar部署到WEB-INF/lib,并将每个项目的类部署到WEB -INF/classes中.

我已经尝试将'modules'项目声明为"Utility Module",并将其ivy.xml文件中的jar声明作为Deployment-WEB/INF/lib的部署,然后将'modules'项目添加到Deployment Assembly 'web'项目,但我得到的是'web'项目的WEB-INF/lib中名为'modules.jar'的jar,其中包含'modules'项目的jar( modules.jar) WEB-INF/lib目录.

是否有可能从应用程序结构部署WTP到我想要的部署布局,或者我必须将我的两个项目重组为一个?如果是这样,我该怎么做?

java eclipse ivy eclipse-wtp ivyde

5
推荐指数
1
解决办法
1834
查看次数

如何让Ivy从Nexus repo下载源代码

我一直在寻找解决问题的方法,但我遇到的所有其他帖子要么不起作用,要么与我的情况不符,所以希望有人可以给我一些见解.

我有一个我用ant构建的库,它输出2个jar文件,一个正常包含库的编译版本,另一个只包含源文件.

该库上传到我们的Nexus存储库,包装设置为jar.对于实际的jar文件,我将扩展名设置为jar并将分类器留空.对于源jar,我将分类器设置为jar的源和扩展.

无论我对我的ivy.xml文件做什么,我都无法下载源jar.基于我在其他地方读过的帖子,我尝试添加:

conf="*->default,sources"
Run Code Online (Sandbox Code Playgroud)

我的依赖,但后来我得到一个错误:

configuration not found in org#name;version: 'sources'
Run Code Online (Sandbox Code Playgroud)

所以这基本上是期望我的库将源定义为某个配置?我认为它只会发现存在另一个人工制品,其中分类器设置为存储库中的源.

任何人都可以通过我将我的库发布到Nexus的方式,或者我在Ivy文件中如何设置我的依赖声明,向我提出我可能做错的其他建议.

这是基本的Ivy.xml文件,我在这里定义了我对Nexus中放置的库的依赖.

<ivy-module version="2.0">

    <info organisation="${ivy.organisation}" module="moduleName" />

    <configurations>
        <conf name="pda" description="moduleName for PDA"/>
        <conf name="server" description="moduleName for server"/>
    </configurations>

    <dependencies>
        <!-- Internal -->
        <dependency name="utility" org="${ivy.organisation}" rev="latest.integration" conf="${ivy.configuration}"/>
        <dependency name="myLib" org="my.org" rev="0.0.+"/>
    </dependencies>

</ivy-module>
Run Code Online (Sandbox Code Playgroud)

在回复下面的评论时,我的build.properties中的ivy.configuration属性设置为pda.对于Eclipse,我创建了一个属性文件,并将ivy.configuration设置为pda(然后在Eclipse中的Ivy设置中引用此属性文件).

我得到的错误信息是:

Some projects fail to be resolved
    Impossible to resolve dependencies of ${ivy.organisation}#moduleName;working@host
        unresolved dependency: my.org#myLib;0.0.+: configuration not found in my.org#myLib;0.0.0: 'sources'. It was required from ${ivy.organisation}#moduleName;working@host pda
Run Code Online (Sandbox Code Playgroud)

UPDATE 这是解析的ivy.xml文件:

<?xml …
Run Code Online (Sandbox Code Playgroud)

java nexus ivy maven ivyde

5
推荐指数
1
解决办法
5468
查看次数

在 Eclipse 中,如何对 Ivy 解析的 jar 进行排序

我在 Eclipse 中使用 IvyDE;它可以解决依赖关系,但解决的 jars 没有顺序。

是否可以按字母顺序对罐子进行排序?

在此处输入图片说明

eclipse ivy ivyde

5
推荐指数
1
解决办法
968
查看次数

安装Vaadin后获取NoClassDefFoundError

我想用Vaadin做一个项目,我正面临一些问题.这就是我做的.

我下载了Eclipse并安装了Vaadin for Eclipse插件.然后,我创建了一个新的Vaadin 7项目.它下载了一些常春藤依赖项,但是当我按下Run时,我收到此错误:java.lang.NoClassDefFoundError:com/vaadin/server/VaadinServlet.

我在互联网上搜索了一下但无济于事.有一点是在web-app的WEB-INF/lib文件夹中,没有jar.我附上了错误的屏幕截图以及web.xml和ivy.xml.

在此输入图像描述

的ivy.xml:

<?xml version="1.0"?>
<!DOCTYPE ivy-module [
    <!ENTITY vaadin.version "7.1.7">
]>

<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="com.example" module="v7proj" />
    <configurations>
        <!-- The default configuration, which should be deployed to the server -->
        <conf name="default" />
        <!-- A configuration only needed when compiling the widget set. Should 
            not be deployed to the server -->
        <conf name="widgetset-compile" />
        <!-- A configuration used in compilation of server side classes only.
            Should be deployed to the server -->
        <conf …
Run Code Online (Sandbox Code Playgroud)

java eclipse vaadin ivyde vaadin7

4
推荐指数
1
解决办法
7123
查看次数

下载ivy依赖项时,如何让Eclipse使用我的IVY_HOME变量?

我的公司大量使用常春藤来下载依赖项.其中一些依赖项很大(约500MB),需要一段时间才能从远程存储库下载.

为了构建我们的应用程序,我们有一个ant脚本,它将首先解析所有依赖项并将其部署到服务器.

我已经设置了一个"IVY_HOME"环境变量,以便所有依赖项都下载到D:\ ivy_home而不是C:\ Users\.ivy2\ - 这是因为D:是我的SSD,它明显更快,而且它是我的地方本地服务器目录位于 - 因此将文件从ivy_home复制到服务器是非常快的.

但出于某种原因,当我在eclipse中使用IvyDE插件时 - 它总是希望下载所有依赖项的单独副本并将它们放入我的C:\中,这会导致几个问题:

  1. 因为它们被放置在不同的位置,因此不会在eclipse中拾取来自ant脚本的本地发布
  2. 已经在D:中下载的依赖关系将不会被拾取,这使得Eclipse中的ivy Resolve比它需要的速度慢得多
  3. 在eclipse中依赖关系是一个较慢的驱动器,所以执行搜索,执行这些jar也比较慢

ivy ivyde

2
推荐指数
1
解决办法
2805
查看次数

标签 统计

ivyde ×11

ivy ×9

eclipse ×7

java ×5

ant ×1

eclipse-wtp ×1

maven ×1

nexus ×1

sbt ×1

scala ×1

scala-ide ×1

vaadin ×1

vaadin7 ×1