当前位置: 首页 > 面试题库 >

从Ant类路径中排除jar

胡飞鹏
2023-03-14
问题内容

我试图在一些使用ant脚本的旧项目上进行“干净的专家”设置。我对蚂蚁知之甚少,所以我的问题似乎很幼稚。

我快完成了,但是由于classpath中的冗余,所以传递ant脚本失败了。如果我了解构建,则这些行应将“提供”范围内的每个库添加到类路径中:

<artifact:dependencies pathid="dependency.classpath" scopes="provided">
    <pom file="./pom.xml"/>
</artifact:dependencies>

然后这个:

<path id="completecp">
    <fileset dir="${ant.home}/lib">
        <include name="*.jar" />
    </fileset>
    <path refid="dependency.classpath" />
</path>

将那些依赖项添加到ant.home目录中的库中。

麻烦的是,我使用的maven pom依赖于我无法修改的父pom,因此,我的类路径中有3个不同版本的Ant:两个来自POM(1.5和1.7。
1)和Eclipse(1.8.2)中的一个。我已经尝试过(拼命地!)addind一些行家排除法,但不幸失败了。

所以我想:也许有一种方法可以从Ant类路径中排除jar。我试着把:

<exclude name="*ant\1.7.1\ant-1.7.1.jar"/>
<exclude name="*ant\1.5\ant-1.5.jar"/>

文件集部分,但是它不起作用。有没有办法排除那些多余的罐子?


问题答案:

尝试这种方式:-

<exclude name="**/ant/1.7.1/ant-1.7.1.jar"/>
<exclude name="**/ant/1.5/ant-1.5.jar"/>


 类似资料:
  • 问题内容: 我有一个Java项目的标准项目布局: 据我所知,我正在使用Ant正确构建项目。我需要在清单文件中设置class-path属性,以便我的类可以使用所需的库。 以下来自build.xml的相关信息 任何朝着正确方向的推动都值得赞赏。谢谢 问题答案: 查看我的NetBeans生成的构建文件,我在任务中找到了以下代码片段: 因此,换句话说,看起来您只需要向已有的清单任务添加另一个属性即可。 另

  • 问题内容: 我有一个在命令行上可以正常工作的Ant 文件:它可以编译,构建JAR,并且可以从JAR执行main方法。该文件引用了分散在各处的几个第三方库。在构建JAR时,脚本不会将所有第三方库都包含在JAR本身中。相反,它将它们的路径放入JAR的清单中。这有助于使我的JAR保持整洁。 我希望能够在Eclipse中编辑和调试我的项目,但是我找不到一种简便的方法。我可以让我的项目使用Ant文件来构建项

  • 大家早上好。我有以下代码: 问题是,uri变量被分配给RestTemplate构造函数为,也就是说,它从代码变量中删除初始的。

  • ...等 但是,默认情况下,Spark会加载jar文件:/usr/lib/Spark/jars/guice-3.0.jar,其中包含com.google.inject.internal.injectorImpl,这个类也在我的超级jar中的Guice-4.x jar中。当我的服务启动时,这将导致。 我尝试在中设置一些Spark conf,将super jar放在类路径中,希望在Spark加载gui

  • 我有点被路线部分卡住了。想象一下,我有两条路线,它们有自己的路径: /person/add应该显示一个表单,在那里我可以创建一个新的Person /人/: id应该显示一个具有给定id的人。 问题 有没有办法让我避免这种情况?例如,通过告诉:id应该是一个数字?

  • 我正在尝试构建我的控制台应用程序,并且我正在使用Ant来构建它。我可以在Eclipse中运行我的应用程序,但是当我试图从我得到的jar中运行它时,ClassNotFoundException:被抛出。是在我的应用程序中使用的一个罐子中。这里是build.xml的一部分,我在这里创建manifest: UPD:我应该把有库的罐子放进我的罐子里吗?现在我把它们放到JAR的“lib”目录中。所以myja