在 maven-plugin-testing-harness 中注入 DefaultRepositorySystem 时出错

2024-03-16

我正在尝试基于现有 (2.0) 插件创建一个新的 Maven (3.0.3) 插件,并促进 aether 获取一些依赖项。

我尝试创建一个简单的测试来使用 maven-plugin-testing-harness (版本 2.0.1)加载 mojo,但是 LookupMojo 失败并出现 guice 异常:

1) Error injecting: org.sonatype.aether.impl.internal.DefaultRepositorySystem
at ClassRealm[plexus.core, parent: null]
at ClassRealm[plexus.core, parent: null]
while locating org.sonatype.aether.RepositorySystem
while locating org.codehaus.griffon.maven.plugin.MvnValidateMojo
at ClassRealm[plexus.core, parent: null]
while locating org.apache.maven.plugin.Mojo annotated with @com.google.inject.name.Named(value=org.codehaus.griffon:griffon-maven-plugin:1.3.0-SNAPSHOT:validate)

这当然是因为我需要在某个时候引用存储库系统,但不是现在:

@Component
private RepositorySystem repoSystem;

我已经尝试过(实际上是从)2.1 版本开始的,但是在 AbstractMojoTestCase#setUp() 方法中遇到了问题。

org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
  role: org.apache.maven.repository.RepositorySystem
roleHint:
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:247)

不管怎样,不确定我需要包含什么以及在哪里进行类似于食谱的香草魔力负载测试。有人有什么想法吗?


7年后,我遇到了同样的问题。

解决方案是还添加Maven 兼容 https://maven.apache.org/ref/3-LATEST/maven-compat/工件作为测试范围的依赖项maven-插件测试-harness https://maven.apache.org/plugin-testing/maven-plugin-testing-harness/显然仍然依赖于旧的 Maven 2 API。

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-compat</artifactId>
    <version>[REQUIRED_MAVEN_VERSION_HERE]</version>
    <scope>test</scope>
</dependency>

向用户致敬smoke https://stackoverflow.com/users/826765/smoke他的回答在这里https://stackoverflow.com/a/16707144/5116073 https://stackoverflow.com/a/16707144/5116073

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 maven-plugin-testing-harness 中注入 DefaultRepositorySystem 时出错 的相关文章

随机推荐

  • android 远程图像获取问题?

    我正在使用以下代码来显示带有下一个和上一个按钮的远程图像 单击下一个和上一个按钮两到三次 不会显示下一个图像 并且 DisplayLiveImage 的位图为空 任何人都可以检查这是缓冲区问题吗 或连接 ImageView img int
  • 如何在从 postasync http 请求下载数据时将数据加载到 recyclerview 中

    我正在开发一个android需要从我的下载数据 产品详细信息 图像 的应用程序server using httpclient问题是我需要等到所有数据下载完毕 我需要显示已经存在的数据downloaded而其他的还在继续downloading
  • 阴性检测前10名名单

    我进行了搜索 发现几乎没有关于负面测试的信息 这也是开发人员在工作中应该记住的非常重要的事情 为负面测试开发人员协作记住的前 10 个测试用例列表怎么样 Thanks 阴性测试的定义 在软件测试中 旨在确定系统在定义之外的响应的测试 它旨在
  • salt-stack highstate - 查找慢状态

    运行初始安装大约需要 20 分钟 运行salt call state highstate大约需要6分钟 这并非不合理 但我想加快速度 但我不知道如何找到最慢的状态 除了用秒表观看屏幕 6 分钟之外 还有什么方法可以找到每个状态运行需要多长时
  • ffmpeg 将一系列图像转换为视频 - 在每两帧之间使用交叉淡入淡出或任何其他过渡

    我目前可以将一系列图像转换为视频 但我还需要在它们之间添加过渡 动画 String ffmpegCommand data data mypackage app bin ffmpeg y qscale 1 r framerate i data
  • Python pandas,多行绘图选项

    我想从 pandas 数据框中绘制多条线 并为每条线设置不同的选项 我想做类似的事情 testdataframe pd DataFrame np arange 12 reshape 4 3 testdataframe plot style
  • Fresh Rails 4 应用程序无法识别“rails”命令,坚持要求我使用“rails new”

    我已经成功提交了新申请rails new来自 Rails master 分支克隆的命令 该应用程序看起来不错 并且绝对是 Rails 4 但是当我尝试运行任何其他应用程序时rails命令 提示符给我 Usage rails new APP
  • 如何从字符串中去除 HTML 标签、CSS?

    我有字符串如 p p p align left class western p
  • 如何将linkedin api集成到Android应用程序中

    如何将 linkedin api 集成到我的应用程序中 None
  • badref 是什么意思?

    IR线是什么意思 define i32
  • 加载时时区返回 Uncaught TypeError 的时刻

    我正在努力将 Moment Timezone 实现到 Django 应用程序中 以便纠正从不同时区访问它的用户 并且在通过 Require js 导入文件时遇到错误 moment js moment timezone js 和 moment
  • 如何在 coinbase api 中导入转换?

    目前 Coinbase 支持所谓的 转换 允许从一种货币转换为另一种货币 例如 您可以将部分 BTC 转换为 XRP 在 CSV 中 它们在备注字段中返回买入和卖出金额 笔记 将 0 27235696 BTC 转换为 3 731 32313
  • HTML 名称标签

    是否可以使用标签for元素的属性name代替id 我们的应用程序存在一个错误 两个复选框具有相同的 id 单击一个复选框的标签会检查另一个复选框 由于 HTML 生成逻辑丑陋且复杂 更改 id 会很痛苦 但是 这两个复选框都有唯一的名称属性
  • javascript 中的 Math.random 如何实现随机性?

    javascript 中的 Math random 如何实现随机性 我做了一个可以从大约 50 个不同选项中随机选择的东西 我想知道使用 Math random 来获得随机性应该有多舒服 从规格来看 随机的 返回一个正数数值 符号 大于或等
  • 在容器中心添加面板

    我有一个JPanel这是一个BorderLayout我在顶部和容器中设置了一个新面板 JDesktopPane 位于中心 另一个面板位于底部 现在我想在容器中心动态设置面板 卡片布局 因为我在下面显示层次结构 top gt panel pa
  • jQuery html() 和换行符

    我使用 jQuery 和 Rails 并有以下代码 related html 我在浏览器中遇到问题 只有当部分中没有换行符时 才会替换 lated 元素的内容 这没什么大不了的 我可以将所有内容放在一行上 但这使代码非常难以阅读 有没有办法
  • 使用重命名替换文件名

    我想通过替换从 开始的所有字符后跟八个大写字母来重命名文件名 并仅保留扩展名 4585 10 148 H2A119Ub GTCTGTCA S51 mcdf mdup ngsFlt fm 4585 10 148 H3K27me3 TCTTCA
  • 通过 chrome.runtime.sendMessage 发送带有函数的对象

    我正在开发一个 chrome 扩展 我想用 chrome runtime sendMessage 发送一个对象 带有一些函数 现在做这样的事情 chrome runtime sendMessage something Funny 工作得很好
  • wget 只下载一个 index.html 文件,而不是其他大约 500 个 html 文件

    使用 Wget 我通常只收到一个 index html 文件 我输入以下字符串 wget e robots 关闭 rhttp www korpora org kant aa03 http www korpora org kant aa03
  • 在 maven-plugin-testing-harness 中注入 DefaultRepositorySystem 时出错

    我正在尝试基于现有 2 0 插件创建一个新的 Maven 3 0 3 插件 并促进 aether 获取一些依赖项 我尝试创建一个简单的测试来使用 maven plugin testing harness 版本 2 0 1 加载 mojo 但