Svn 哈德逊能';找不到本地maven存储库(包括第三方JAR)

Svn 哈德逊能';找不到本地maven存储库(包括第三方JAR),svn,maven-2,jar,repository,hudson,Svn,Maven 2,Jar,Repository,Hudson,我已经创建了一个Maven2项目。一切正常。现在,我已经建立了一个哈德逊项目,以使夜间构建成为可能。Hudson应该从Subversion存储库中检查当前项目状态,运行测试,构建项目并将所有内容部署到存储库中。我的Subversion Repositoy包含我的Maven2项目,但本地Maven存储库(.m2)中没有JAR。 这可能就是hudson最终失败的原因,他说一些第三方罐子不可用。在这里,我不得不说在我的本地Maven存储库(.m2)中有一些JAR,它们在任何Maven存储库中都不可用。

我已经创建了一个Maven2项目。一切正常。现在,我已经建立了一个哈德逊项目,以使夜间构建成为可能。Hudson应该从Subversion存储库中检查当前项目状态,运行测试,构建项目并将所有内容部署到存储库中。我的Subversion Repositoy包含我的Maven2项目,但本地Maven存储库(.m2)中没有JAR。 这可能就是hudson最终失败的原因,他说一些第三方罐子不可用。在这里,我不得不说在我的本地Maven存储库(.m2)中有一些JAR,它们在任何Maven存储库中都不可用。因此,不可能下载这些JAR。 Hudson是否能够连接到本地.m2存储库?或者有没有其他方法可以让Hudson使用这些jar文件

非常感谢你的帮助

有没有其他方法可以让Hudson使用这些jar文件

这是非常脏的,但是你可以用“你的本地存储库”替换“哈德逊的本地存储库”(即哈德逊运行的用户的本地存储库)。我真正的意思是在这里替换,即删除
$HUDSON\u HOME/.m2/存储库
并复制
$YOUR\u USER\u HOME/.m2/存储库
不合并


但正如我所说,这是非常肮脏的,您应该使用公司存储库并在该公司存储库的公共存储库中安装不可用的工件。

是的,有一种相对简单/快速的方法。 假设您使用Microsoft JDBC驱动程序类:
sqljdbc4-3.0.jar
由于许可证限制,此JAR不存在于任何存储库中

您可以使用依赖项中的scope
系统
,告诉maven从项目的相对文件夹中获取文件:

<dependency>
  <groupId>com.microsoft</groupId>
  <artifactId>sqljdbc4</artifactId>
  <version>3.0</version>
  <scope>system</scope>
  <systemPath>${basedir}/libs/sqljdbc4-3.0.jar</systemPath>
</dependency>

com.microsoft
sqljdbc4
3
系统
${basedir}/libs/sqljdbc4-3.0.jar
请注意,groupId和artifactId只是由我组成的,它们不是相关的,而是强制性的

我希望这有帮助