如何将jar集成到maven项目中

时间:2015-05-19 09:06:46

标签: java eclipse maven jar

我正在将一些jar文件作为依赖项集成到maven项目中。一些项目合作伙伴给了我jar文件。 jar文件之间存在依赖关系。公共可用的罐子(例如org.apache.http.client)和自编代码之间也有混合。这些jar包含在 eclipse-way 的示例应用程序中,即使用.classpath。当然,这不能直接移植到Maven。所以我做了以下事情:

  • 我使用jar -xf / jar -cf将jar合并为一个。
  • 我使用mvn install:install-file安装了这个jar。
  • 我将依赖项添加到项目的pom.xml

我使用Maven设置重新创建了示例应用程序,一切似乎都有效。但是,我想在更复杂的情况下使用该库,即Maven Web应用程序。

在这种情况下,jar中的代码似乎表现不同:

  • http客户端将调试消息闪烁到日志
  • 似乎有一些关于(un-)编组xml / json的混淆。这会导致出现错误消息,导致我无法使用该代码。

问题是这个错误非常难以确定/修复。由于我无法访问罐子的源代码,因此我无法弄清楚发生了什么以及在哪里。我想问题是涉及到不同版本的软件包。

有没有办法确保jar中的符号总是使用jar本身的代码解析,还是有更好的方法将jar转换为Maven依赖项?

1 个答案:

答案 0 :(得分:1)

不要将公共和/或私有依赖项合并到一个uber-jar中并将其部署到您的存储库。相反,正确地对你的项目进行mavenize,编写一个引用所有依赖项(包括私有项)的pom.xml,将这些依赖项部署到你的repo并永远开心。您可以随时为私有jar设计一些组/工件/版本元组,并相应地编写POM,正确引用相互依赖关系。只要保持一致!

干杯,