- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试利用另一个专有的 Java 框架编写一个 spring xd 模块。 spring xd 和这个专有框架都要求我继承它们的父 POM,这显然是不可能的。
我的解决方法的想法是找出 Spring XD 父 pom 的作用,并将其或多或少地放入我的层次结构中的另一个 pom 中。我如何获得这个 XD 父 pom?或者还有更好的方法吗?
最佳答案
您说得对,Maven POM 中不支持“多重继承”。您也无法控制 Spring XD 或其他专有框架的代码,因此您无法更改一个 pom.xml 以从另一个继承。
一种可能的解决方法是将您的项目构建为多模块项目,其中一个模块继承自 Spring XD 的 POM,另一个模块继承自其他框架的 POM。然后,您可能会有第三个模块,该模块依赖于前两个模块,它将整个项目结合在一起形成一个可交付成果。
MyProject
|-- MySpringXDIntegration
| `-- pom.xml inherits from Spring XD
|-- MyProprietaryFrameworkIntegration
| `-- pom.xml inherits from proprietary framework
`-- MyApplication
`-- pom.xml inherits from neither Spring XD nor proprietary framework
depends on MySpringXDIntegration
depends on MyProprietaryFrameworkIntegration
如果这种项目结构由于某些其他原因而不够充分,则另一种解决方法是“内联”两个父 POM 之一的相关部分。 Spring XD 父 pom.xml 可见 here 。对于专有框架,如果源代码已经给你,那么你可以在那里查看。如果没有,那么您可以简单地使用 jar xf
解压该框架的 jar 并查找捆绑在其中的 pom.xml。我建议确定 2 个 pom.xml 文件中哪一个较大。从较大的 pom.xml 继承,然后通过将较小的部分复制粘贴到您自己的 pom.xml 中来内联较小的相关位。
准确了解父 POM 的作用的一种方法是创建一个继承自它的虚拟项目,然后运行 mvn help: effective-pom
。如果父 POM 已经拥有自己的深层继承链,这尤其有用。
关于java - 如何将spring XD与其他框架结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34531990/
我是一名优秀的程序员,十分优秀!