1

我有一个使用 netbeans 开发的现有项目,我想在项目中集成 Apache Ivy。我更新了 netbeans 生成的 build.xml 以下载 ivy(如果需要)并使用它来检索依赖项。

有谁知道我如何将下载的依赖项添加到项目的构建路径中,这样它就可以正常编译,并且不会在界面中显示缺少库的错误。

如果可能的话,我宁愿在不使用 netbeans 插件的情况下这样做。如果没有,你会推荐使用什么插件。

编辑:如果它有任何相关性,我现在也在“-pre-init”目标中这样做。

4

3 回答 3

1

不幸的是,我不熟悉 netbeans 的配置文件。

以下是我用来生成 Eclipse 元数据文件的集成目标:

  • .classpath
  • 。项目

也许你可以适应它。

<target name="eclipse">
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>

    <ivy:cachefileset setid="libfiles" conf="compile"/>

    <groovy>
    <arg value="${src.dir}"/>
    <arg value="${build.dir}/classes"/>

    import groovy.xml.MarkupBuilder

    //
    // Generate the project file
    //
    project.log("Creating .project")

    new File(".project").withWriter { writer ->
        def xml = new MarkupBuilder(writer)

        xml.projectDescription() {
            name(project.name)
            comment()
            projects()
            buildSpec() {
                buildCommand() {
                    name("org.eclipse.jdt.core.javabuilder")
                    arguments()
                }
            }
            natures() {
                nature("org.eclipse.jdt.core.javanature")
            }
        }
    }

    //
    // Generate the classpath file
    //
    // The "lib" classpathentry fields are populated using the ivy artifact report
    //
    project.log("Creating .classpath")

    new File(".classpath").withWriter { writer ->
        def xml = new MarkupBuilder(writer)

        xml.classpath() {
            classpathentry(kind:"src",    path:args[0])
            classpathentry(kind:"output", path:args[1])
            classpathentry(kind:"con",    path:"org.eclipse.jdt.launching.JRE_CONTAINER")

            project.references.libfiles.each {
                classpathentry(kind:"lib", path:it)
            }
        }
    }
    </groovy>        
</target>
于 2012-07-23T17:39:24.947 回答
0

也许你可以试试http://code.google.com/p/ivybeans/

于 2012-08-23T17:45:36.267 回答
0

如果您不想使用 ivybeans 插件,也许您可​​以通过插件生成的不同 ant 任务来启发自己:

https://code.google.com/p/ivybeans/source/browse/trunk/ivybeans/ivy-module/src/com/googlecode/ivybeans/module/resources/ivy-impl_.xml

于 2013-03-25T08:49:30.437 回答