首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迁移Ant级- Eclipse中的Classpath和Buildpath问题

迁移Ant级- Eclipse中的Classpath和Buildpath问题
EN

Stack Overflow用户
提问于 2016-10-12 02:01:28
回答 1查看 235关注 0票数 1

当前情况:我正在将构建系统从Ant迁移到Gradle。目前,我面临着类路径和构建路径的问题。下面是当前Ant编译目标定义:

代码语言:javascript
复制
    <target name="compile">
        <mkdir dir="${build.compile.target}/classes" />
        <javac srcdir="${src}" destdir="${build.compile.target}/classes">
            <classpath>
                <fileset dir="${build.war}/WEB-INF/lib">
                    <include name="**/*.jar" />
                </fileset>
                <pathelement location="${build.war}/WEB-INF/classes" />
            </classpath>
        </javac>
    </target>

开发人员通常执行以下设置-本地目标来构建war文件,等等。

代码语言:javascript
复制
<target name="setup-local" depends="clean">
    <antcall target="copy_webapp" />
    <antcall target="compile" />

copy_webapp目标是将.jar和.class文件从目录复制到${build.war}目录中。不幸的是,这个复制目标是真正需要的,因为它对文件进行了相关的修改(它将两个目录中的文件合并为一个,进行覆盖和文件修改)。这是没有任何注释的遗留代码。我真的不想对它做研究,找出为什么事情是这样的)

问题:类路径中有一个对文件的引用,只有在预先执行copy_webapp目标时才存在。公平-这是可行的,如果我总是执行设置-本地目标。

现在,在迁移到Gradle并将项目导入到Eclipse之后,我在我的.java文件中得到了数以千计的错误,表示导入无法解决。嗯,当然不是。在构建路径中有文件(f.e。不存在的"${build.war}/path/to/jar")。

我不知道如何解决这些错误。我是否需要重构我的类路径,以便以前不依赖于copy_webapp目标?或者,我可以以某种方式(使用Gradle)修改构建路径,因为它之前必须解析copy_webapp目标?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-12 21:04:09

考虑到这些信息,很难找到问题的根源。

一种选择是,当您有一个生成复杂目录结构和/或Eclipse部署项目所需的中间输出的Gradle任务时,为Eclipse项目创建一个“暂存”目录。

解决这个问题的方法是创建一个在调用gradle eclipse时运行的子任务。在任务的配置中添加行it.dependsOn eclipse。此任务的输出将进入build/eclipse/TaskNamebuild/ dir中的某个描述性位置。然后,应该更新类路径引用,以指向build/ dir下的输出目录位置。

此外,您可能必须对eclipse任务用于生成项目类路径的类路径条目进行后处理,以便它们正确地引用任务输出位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39989391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档