首页 > 解决方案 > Spring Boot 可运行 jar 中的 ANT 类路径

问题描述

我正在将一个项目从 Spring 迁移到 Springboot。我们称它为Project X。在其中,我有一个名为ClassA的类。我也在使用 Apache ANT(我们现在无法迁移到 Maven)。我已经设法使用名为projectX.jar的 Spring Boot AntLib 模块使用 ANT 创建了一个可运行的 jar 文件。

我现在的问题是Project Y - 一个具有Project X编译依赖项的项目。当我尝试用 ANT编译项目 Y时,我有:

<path id="compile.classpath">
<pathelement path="D:\ProjectX\projectX.jar"/>
</path>

自从我迁移到 SpringBoot 之后,projectX.jar的结构发生了一点变化。现在我的类在 projectX.jar 内的 BOOT-INF/classes 下(不是直接在projectX.jar的根路径中)。因此,项目 Y不再找到classA

错误是:

error: cannot find symbol
    [javac] import myPackage.classA;

有没有办法通过在 jar 中指定它们的位置来引用这些类?我尝试过的是:

<path id="compile.classpath">
    <pathelement path="D:\ProjectX\projectX.jar\BOOT-INF\classes"/> 
</path>

但它似乎不起作用。我还在考虑将这些类从ProjectX解压缩到磁盘,在ProjectY上从那里引用它们,然后在最后删除它们,但这看起来像是一个肮脏的解决方案。

任何帮助将不胜感激。

标签: javaspring-bootant

解决方案


推荐阅读