我有以下情形:与本地的依赖和复制Maven项目文件
MYLIB是一个库(对此我有来源,所以我想将它们放到一个Maven项目MYLIB:例如MYLIB )。这个库有一个jar依赖项,我只有这个jar,并且它不在Maven仓库中找到(我也不想在那里安装它)。为了进行编译,类似这样的工作将会起作用:将jar文件添加到“lib”文件夹中的mylib项目中,例如“lib/thirdpartylib.jar”和mylib的pom.xml中,添加一个自选组/ artifact /版本和一个“<scope>system</scope><systemPath>${project.basedir}/lib/thirdpartylib.jar</systemPath>
”条目的依赖关系。 mylib项目会很好地编译。
请注意,mylib还具有运行时依赖于dll文件,如thirdparty.dll。但是编译这个并不重要。
不过,现在我想知道如何实现以下目标:
任何其他项目,例如项目 “X”,即使用 mylib中,将需要
- mylib.jar
- thirdpartylib.jar
- thirdpartylib.dll
,
,它会具有对的java.library.path设置的目录(如 “”),使得第三方的jar和dll被执行的VM找到。
我的担心是这样的:我想第三方jar/dll的东西是mylib项目的责任。即我想定义知识,你需要将第三方jar和dll复制到目标文件夹,并且java.library.path引用它们,作为mylib项目的一部分(mylib pom知道该怎么做用于其他项目)。然而,我想要这些知识(即复制指令,无论它们在Maven中如何精确完成)通过mylib传递给任何其他项目,例如X.这是否有可能?
[我现在黑客的解决方案将是我在X的第三方东西的清单,但即使如此,我不知道如何复制/处理DLL文件,所以我不得不写自述说,该dll文件必须被复制到正在执行的虚拟机的bin文件夹中)。
任何建议表示赞赏!
我坚持你的解决方案,谢谢你。 – mtrovo