我有一个带有ant构建文件的java项目,使用这个ant文件我创建了一个项目的ejb并将其部署在jboss服务器上。 现在我打算使用maven并转换这个现有项目,该项目在其类路径中包含近28-30个jar(与ejb3,hibernate,jboss等相关的jar)。 我可以使用eclipse轻松完成它,即右键单击项目goto maven并单击Conver to Maven。 生成一个pom.xml,并将MavenClassPath容器添加到项目中。
现在我想知道如何摆脱项目的lib文件夹和类路径中存在的那些28-30 jar。即我希望我的pom.xml处理所有依赖项。 Maven是否提供了在转换项目时实现此目标的任何机制,或者我必须在pom.xml文件中手动逐个添加所有这些jar依赖项。
这样做的目的是我希望有一个普通的maven远程存储库,其中将存储罐子,每个开发者机器将通过他们的maven项目指向它。
由于
答案 0 :(得分:2)
我可以推荐的最重要的事情是使用Maven Repository Manager(Nexus,Artifactory或Achiva或其他......)。 其次,通过Eclipse进行的pom转换表明,您没有使用最新的Eclipse,也没有使用最新的Eclipse Maven插件。最好的事情是使用Eclipse-Indigo(m2e是最新和最好的)。 此外,您必须遍历所有jar并将它们逐步添加到pom(依赖项)并查看您的项目是否可以编译。这应该在命令行上检查,而不是在Eclipse内部。 获得有效的pom.xml文件后,将其放入版本控制中,并检查是否可以根据传递依赖项删除一些添加的依赖项。之后,您最终可以删除您的lib文件夹。
答案 1 :(得分:2)
我认为你是在追踪像Nexus这样的存储库管理器(我使用的是Nexus,它似乎是最受欢迎的http://nexus.sonatype.org/)。
Nexus可以用作:
Nexus为您的开发人员提供用户管理,以便将构建版本发布到仓库中。
然后,开发人员会将他们的Maven settings.xml文件指向您的Nexus存储库,并且所有依赖项都将来自此处(Nexus将缓存它们)。
我担心你必须单独配置依赖项,但这是一件好事,因为你应该注意你对每个依赖项感兴趣的版本范围。
在Maven Central等中找不到的任何jar都可以添加到您自己的Nexus存储库中。
当然还有Nexus的替代品,但我没有使用过。
HTH