我使用Maven来处理具有多个模块的多模块。
module-jax-rs
。我使用swagger-maven-plugin
生成Swagger json并将其作为资源捆绑在module-jax-rs
中。 module-python
是一个python模块,它依赖于module-jax-rs
中的Swagger Json,使用另一个Maven插件生成Swagger客户端swagger-codegen-maven-plugin
swagger.json
之前从module-jax-rs
解包module-python
文件。 mvn package
但不适用mvn compile
,因为mvn compile
无法生成我可以提取的包。我应该怎么做才能在不遇到以下错误的情况下仍然运行mvn compile
?
[ERROR] Failed to execute goal org.apache.maven.plugins:
maven-dependency-plugin:2.10:unpack-dependencies (unpack)
on project module-python: Artifact has not been packaged yet.
When used on reactor artifact, unpack should be executed after
packaging: see MDEP-98. -> [Help 1]
答案 0 :(得分:0)
你基本上可以使用antrun插件和文件的相对路径将swagger.json复制到module-python中。
然而,这并不是使用来自另一个模块的资源的正确方法,即使在同一个多模块项目中也是如此。通常,使用其他模块资源的正确方法是允许具有所需资源的模块将这些资源打包并安装到jar文件中,然后只需在任何需要它的模块中导入该jar文件。当然,要实现这一点,您必须运行包目标。
我不确定您为什么要避免打包目标。我从未遇到过有充分理由不运行它的情况。