1

我最近更新了我的项目设置以解决我的 groovy 插件和 ivy 插件之间的资源问题。

我在 64 位机器上使用 apache ivy IDE plugin 2.2.0 final & eclipse Helios Service Release 1。

在我做之前:项目->右键单击常春藤插件->属性->高级:
启用项目特定设置
使用以下内容构建类路径:
检索到的工件
检索模式:WebContent/WEB-INF/lib/[artifact]-[revision]。[ ext]
删除旧检索到的工件 [选中]

这对我有用,除非我的项目中也有 groovy 插件,groovy 项目将保留复制到 WebContent/WEB-INF/lib/ 的 jars,我不会被允许删除 WebContent/WEB-INF/lib/ 中的任何 jar,直到我重新启动 eclipse

现在我删除了常春藤插件设置添加了我的常春藤插件作为部署程序集我现在遇到的问题是,每当我使用 eclipse 发布到 tomcat 时,它会根据我的一些常春藤条目复制两个 jar。其中一个 jar 始终是最新版本,然后另一个 jar 似乎是同一 jar 的随机早期版本。但是,一旦我切换回使用 ivy 插件复制 jar 的旧方式,问题就解决了。

我不知道这个新问题是常春藤插件问题还是 Eclipse 部署程序集问题。工作中的其他人尝试在同一个项目中做同样的事情,他们没有两个罐子的问题。

以前有没有其他人遇到过这个问题并有解决方案?

谢谢!

4

1 回答 1

0

你在使用 Ant 和 Ivy 吗?然后,您可以定义一个 Ant 任务来复制 Jars:

<copy todir="@{target-dir}">
    <fileset dir="@{source-dir}">
        <include name="*.jar" />
    </fileset>
</copy>

您甚至可以以更详细的方式指定文件集。我的 Ant 构建文件中的一些示例:

<fileset dir="...">
    <include name="${ivy.module}-${ivy.revision}-jar.jar" />
    <include name="${ivy.module}-test-unit-${ivy.revision}-jar.jar" />
    <include name="lib/*.jar" />
    <include name="lib-tests/*.jar" />
    <exclude name="**/*.java" />
    <exclude name="**/*.class" />
</fileset>
于 2016-01-12T16:51:39.250 回答