java - 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上从那里引用它们,然后在最后删除它们,但这看起来像是一个肮脏的解决方案。
任何帮助将不胜感激。
解决方案
推荐阅读
- r - 为什么一段独立工作的代码不能在 R 中并行工作?
- c++ - C ++中for循环中的不同条件
- mysql - 如何使用节点js在mysql不同列中插入json数组对象
- flutter - 制作完整文件时如何合并颤振文件
- android - kotlin 中的 recycler 不能为空
- c# - C# 自定义异常不可调用或类型无效
- css - 将 UIFont 转换为 css 字体样式字符串
- azure - 主机路径不允许作为卷源,您需要引用“卷”部分中定义的 Azure 文件共享
- python - 下划线的使用:q.choice_set.all()
- firebase - 如何递归删除firestore中的集合?