我如何编译一个多模块maven项目,其中一个模块同时具有clojure和java代码
我有一个多模块maven项目,其中一个模块同时具有java和clojure代码,clojure代码需要来自java源代码的pojo,java源代码中的另一个类需要clojure编译的代码(我添加了:gen类和project编译得很好,尽管它最初给出了一个错误,即当clojure-maven插件和编译器执行clojure:compile和compile时,未能看到java类I)。但这在管理多模块的外部pom中不起作用。感谢您在寻找解决方案方面提供的任何帮助。正如其中一条评论所说,clojure maven插件无法处理同一模块中Java和clojure代码之间的循环依赖关系。Java代码在clojure代码之前编译 但是您可以重新构造代码以消除循环依赖关系。将Java+Clojure项目(maven模块)分为三部分:我如何编译一个多模块maven项目,其中一个模块同时具有clojure和java代码,maven,clojure,maven-plugin,clojure-java-interop,Maven,Clojure,Maven Plugin,Clojure Java Interop,我有一个多模块maven项目,其中一个模块同时具有java和clojure代码,clojure代码需要来自java源代码的pojo,java源代码中的另一个类需要clojure编译的代码(我添加了:gen类和project编译得很好,尽管它最初给出了一个错误,即当clojure-maven插件和编译器执行clojure:compile和compile时,未能看到java类I)。但这在管理多模块的外部pom中不起作用。感谢您在寻找解决方案方面提供的任何帮助。正如其中一条评论所说,clojure m
- 基本Java模块
- Clojure模块
- 第二Java模块
- Clojure模块依赖于基础Java构件
- 第二个Java模块依赖于基础Java和Clojure人工制品
只要在Clojure模块中正确设置了AOT编译,所有内容现在都应该编译。我相信Clojure maven插件AOT默认编译所有名称空间。如果没有AOT编译,
(gen类)
什么都不做。基本上你应该避免Java代码和Clojure代码之间的相互依赖。目前Clojure maven插件无法在Java世界和Clojure世界之间交替编译过程。这似乎是一个非常常见的场景,最初我认为会有很多解决方案:)是的,这似乎是最好的解决办法,也可能是目前的答案