当前位置: 首页 > 知识库问答 >
问题:

外部maven repo和jenkins

乌修筠
2023-03-14

我有一个外部jar(意思是在公共回购中不可用),我想将其包含在我的构建中。我使用了本网站上的说明:http://charlie.cu.cc/2012/06/how-add-external-libraries-maven/当我在我的电脑上安装mvn时,它就可以工作了。但是当我使用Jenkins构建maven项目时,我得到了以下错误:

正在执行Maven:-B-f D:\Program Files(x86)\Jenkins\workspace\rmy job\pom。xml安装[信息]正在扫描项目。。。[信息]

[警告]缺少sqljdbc:sqljdbc\u 4.0:jar:v4的POM,没有可用的依赖关系信息

[信息]生成失败[信息]------------------------------------------------------------------[信息]总计

时间:1.705s[信息]完成时间:2014年2月11日星期二10:29:23 EET

[信息]最终内存:13M/307M[错误]无法在项目xxxxxx上执行目标:无法解析项目com的依赖项。xx:xxxxxxx:jar:0.0.1-快照:在中找不到sqljdbc:sqljdbc\u 4.0:jar:v4http://repository.codehaus.org/org/codehaus已缓存在本地存储库中,在经过codehaus的更新间隔或强制更新之前,不会重新尝试解析-

我使用的pom有以下存储库条目:

    <repositories>
<repository>
    <id>codehaus</id>
    <url>http://repository.codehaus.org/org/codehaus</url>
</repository>

<!-- In Project repository -->
<repository>
    <id>in-project</id>
    <name>In Project Repo</name>
    <url>file://${project.basedir}/libs</url>
</repository>

你知道为什么会这样吗?

共有3个答案

巩镜
2023-03-14

作为一般规则,我总是强烈建议

  • 使用Maven存储库管理器,如Nexus
  • 仅在Maven Repository Manager中管理存储库,而不在POMs中管理存储库
  • 使用Maven Repository Manager托管任何其他存储库都无法提供的第三方库
  • 配置设置文件

这是获得稳定且可重复构建的关键-即使其中一个存储库暂时不可用。

易品
2023-03-14

实际上,这可能是hppen无法从lib中获取jar。

用另一种方法推它。

  1. 右键单击项目
    <repositories>
        <repository>
        <id>local123</id>
        <name>localRepo</name>
        <url>file://${project.basedir}/lib</url>
        </repository>
     </repositories>

尝试将此代码放入pom中。xml文件。

希望你的问题可以用这个解决。

邢寒
2023-03-14

经过一些尝试,我在pom.xml中做了以下解决方法

<repository>
    <id>in-project</id>
    <name>In Project Repo</name>
    <url>file://${project.basedir}/libs</url>
</repository>

<dependency>
    <groupId>sqljdbc</groupId>
    <artifactId>sqljdbc_4.0</artifactId>
    <version>v4</version>
      <scope>system</scope>
    <systemPath>${project.basedir}/libs/sqljdbc/sqljdbc_4.0/v4/sqljdbc_4.0-v4.jar</systemPath>
</dependency>

这意味着系统路径需要作为一个整体,而不仅仅是

 <url>file://${project.basedir}/lib</url>

如上所述。通过这种“变通方法”,我可以在本地和远程工作(Jenkins Git)

 类似资料:
  • 我正在寻找一种方法,在一个微服务中有一个用于公共访问的应用编程接口,另一个用于其他私有服务的内部应用编程接口。 当然,这在不同的URL中是可能的。但看起来好像合并了swagger/open api描述页面。 公共和私有API应该有一个单独的招摇页面。来自互联网的人不能看到内部API描述。只有公共的。 有想法吗?

  • 我已经开始使用PyCharm IDE,但是我不知道如何在那里管理外部库。例如,PyCharm看不到< code>matplotlib。在PyCharm的文件管理器中,我清楚地看到了外部库的列表,没有< code>matplotlib。但是,我已经安装了它,并且知道它的位置。 如何将此库添加到PyCharm环境?

  • 问题内容: 我正在尝试使用docker-compose启动kafka服务,并且应该可以在docker内部和外部进行访问。因此,应该在内部和外部设置合适的广告客户: 问题是,当我尝试从群集外部进行连接时,节点名称不是127.0.0.1,而是内部主机名: 这不是KAFKA_ADVERTISED_LISTENERS和KAFKA_LISTENERS处理这种情况的目的吗?我尝试设置KAFKA_ADVERTI

  • 我刚刚开始学习React和JavaScript。在我阅读了留档和教程之后,我看了一下示例项目,并试图整理我还没有得到的内容。 然后我看到有一些函数是在函数内部定义的,还有一些函数是在函数外部定义的。 例如,在之外: 和内部render()。。。 为什么它们看起来如此不同,为什么你想在内部和外部有一些函数? 编辑: 之外的函数的另一个示例: EDIT2:在另一个线程中,有人回答说,如果函数背后的逻辑

  • 我在postgresql里看到有两个独立的算法叫做外部排序和外部合并进行排序。我觉得两者是一样的。据我所知,外部排序是一个排序算法的集合,当整个批次无法在内存(RAM)中排序时,它处理大量数据的排序,并有两个阶段,第一阶段是对小块数据进行排序并将其存储在临时文件中,第二阶段是合并所有这些子文件以获得最终数据集。 我还知道外部合并排序算法是外部排序技术的一个示例。 所以在我的例子中,外部排序和外部合

  • 为了防止XXE攻击,我禁用了Java DocumentBuilderFactory推荐的以下功能-https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention\u Cheat\u Sheet。 如果我没有将外部常规实体和外部参数实体设置为false,是否存在任何漏洞?因为当我们将disallow doctype decl设