2010-12-08 53 views
0

我正在开发一个web应用并使用maven进行依赖管理(duh)。一些所需的jar已经在服务器库文件夹中可用,但不匹配“maven命名方案”,即缺少版本后缀。Maven和AppServer依赖管理最佳实践

我想用它们进行开发和部署,但..
1.我不能指向他们的maven,因为maven似乎需要一个版本后缀。我无法在pom中省略它。
2.如果我定义了maven之外的依赖关系,那么maven显然无法构建。
3.重命名服务器分发内的文件听起来像是一个混乱。

Brian Boitano会做什么?我的意思是,我肯定有一个很好的解决方案,我没有意识到,或者至少是上述三种解决方案之一的一个很好的论点。

谢谢

PS。我正在使用JBoss 5.1和Maven 2.2.1 ATM,但它随时更改

+0

我想我应该有一个名为的问题是“如何避免与Maven冗余罐子部署”。所以到目前为止我已经有了2个“最佳实践” - 从c0mrade和dimitrisli的“使用本地库的系统范围”中的“不要试图变得聪明”。系统范围应该是sorta不赞成。我不知道这个弃用是否仍然是有效的,与JBOSS_HOME – kostja 2010-12-08 16:58:41

回答

1

,如果你想明确地识别他们居住的地方,您可以提供这些瓶子作为依赖与system范围。欲了解更多信息看看here

0

如果这些是你使用的不是私有库,我建议你使用那些从Maven仓库的正式版本。

如果它们是私有的,你可以使用maven手动安装JAR到你的本地库(你可以用你的版本,后缀,组名,artifactId的等),然后在你的POM中使用它们。

+0

这样的环境变量的相对路径谢谢。看起来你的解决方案是忽略jar已经存在的事实,并遵循常规过程。这是我没有提到的一个选项,但是:1.我想避免为普通瓶子进行冗余部署,以及2.为什么你更喜欢将repo罐子放到服务器分配提供的罐子上? – kostja 2010-12-08 15:33:35

+0

@kostja 1.因为这就是maven的工作原理,如果你不喜欢它,就不要使用它。你必须有artifactId,groupId等等。2.他们基本上是一样的,但是如果你想保留最新版本的轨道,Maven会为你做这件事,而不是你关心它。 – ant 2010-12-08 15:48:36