问题标签 [aether]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - Aether 在运行时从存储库中获取工件
这是我从以太示例代码中获取的用于获取工件的示例代码。
此代码用于从 maven Central 获取工件,但它会引发此错误:
请有人建议必须进行哪些更改。这是我从以太示例代码中获取的示例代码。
java - 如何使用 aether 将 maven 依赖项作为单个已解析的工件?
我正在使用 Aether 来解决 java 项目中 maven 工件的依赖关系。我想找到直接依赖项(没有传递),并希望它们作为一个单独的解决工件。
如果使用收缩包装,我会做类似的事情
我有以下内容可以找到没有传递性的家属
所以这给了我所有依赖项的列表。我怎样才能得到这些依赖项的一个 jar?如何使用 Aether 实现这一点?是否有关于这两个库彼此不同的文档?换句话说,Aether 中的“MavenResolvedartifact”(如在 shrinkwrap 中)的等价物是什么?这样我就可以使用原始 java 将其转换为单个 jar?
scala - Play 2.3.8 的多个 SLF4J 绑定
我将 Play Framework 2.3.8(用于 Java)与 Scala 2.11 一起使用。
我收到这个警告:
SLF4J:类路径包含多个 SLF4J 绑定。
SLF4J:在 [jar:file:/Users/vdanylchuk/.ivy2/cache/org.slf4j/slf4j-simple/jars/slf4j-simple-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class 中找到绑定]
SLF4J:在 [jar:file:/Users/vdanylchuk/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.0.13.jar!/org/slf4j/impl/ 中找到绑定StaticLoggerBinder.class]
SLF4J:有关说明,请参见http://www.slf4j.org/codes.html#multiple_bindings。
这会以随机方式在运行时导致实际问题。在一些已部署的主机上,一切顺利,日志按照配置写入。在其他主机上,错误的绑定获胜,日志写入错误的位置。部署过程是脚本化的并且完全相同。所以http://www.slf4j.org/codes.html#multiple_bindings上的警告是正确的,这是随机的,所以我需要删除额外的绑定。
有趣的是,它们都来自 Play 框架。logback-classic(我实际上想要使用)来自 play 库,而 slf4j-simple 来自 play sbt 插件。
我在这里和邮件列表中阅读了很多类似的问题。示例: 如何在 Play 2.3.x 启动时修复“SLF4J:类路径包含多个 SLF4J 绑定”? 常见的解决方案是使用某种形式的排除规则。建议的解决方案都不适合我。[更新:事实上,他们确实这样做了 - 请参阅下面的解决方案。] 我不希望 slf4j-simple 出现在最终的类路径中,但确实如此。即使我将 excludeAll(ExclusionRule(organization = "org.slf4j")) 添加到项目中的每个依赖项中,除了 play 框架。
关于如何摆脱 slf4j-simple 的任何想法?最好在 sbt 项目级别上,无需手动清理构建结果的类路径。
更新:复制说明
我用一个小测试项目缩小了范围。原来它是由 play sbt 插件和我们使用的 aether-deploy 插件的组合触发的。有这个小配置就足够了。
构建.sbt:
项目/plugins.sbt:
项目/build.properties:
然后只需运行“sbt test:compile”或“sbt run”(并查询 localhost:9000)即可查看警告。它与 scala 2.10 相同。
java - 以编程方式从远程 maven repo 下载工件
我正在使用 Aether 实用程序库来管理依赖关系。当我尝试下载 Maven 工件的传递依赖项时,我得到一个
错误。我在这里使用的以太示例中几乎相同的代码https://github.com/eclipse/aether-demo/blob/master/aether-demo-snippets/src/main/java/org/eclipse/aether/examples/ ResolveTransitiveDependencies.java
公共类 ResolveTransitiveDependencies {
}
java - 从 Aether 解析的依赖项中获取 url
我正在使用以太来解决 Maven 依赖项。在Aether 示例上遵循此示例之后
这给了我一个List<Dependencies>
. 我将如何从工件的这些依赖项中获取文件?
maven - 如何确保 Aether “下载”本地仓库中的所有依赖项?
我正在尝试解决项目的直接依赖关系,基本上是其 POM 中的运行时和编译时依赖关系以及传递性。为此,我有以下代码
}
这可以正常工作,但我如何获得“已解决”的依赖项列表。我需要能够在我的本地存储库中下载这个已解决的工件。基本上我需要一个 List 来返回,我可以从中访问本地磁盘上的 jar。
java - 如何模拟 Maven 存储库?
我正在使用 Aether 来管理和控制我的项目的 Maven 依赖项。我需要添加需要 Maven 依赖解析的单元测试。
我如何在不与真正的 maven repo 交谈但使用简单的 mock/mockito 之类的东西来模拟它的情况下实现这一点?
maven - 如何以编程方式从我的本地存储库中获取 Maven 工件的最高版本?
在许多帖子中,我看到Aether项目有助于处理工件存储库。我想要的是仅检索指定groupId和artifactId的最高版本。
在 Aether wiki 中,他们为org.apache.maven:maven-profile:2.2.1工件提供了一个案例,其中还指定了版本:
但我需要取回版本,一个工件的最高版本。我怎么能这样做?
java - 如何设置 Aether 来解决 SNAPSHOT 依赖项?
我正在使用以下代码片段(来自 aether 示例)来使用 Aether 解决 maven 依赖项。但是快照依赖项失败了。有没有办法可以设置配置以包含快照依赖项?
java - 如何检查远程存储库中是否存在 Maven 工件
如何使用 Java 检查远程存储库中是否存在 Maven 工件。Aether API 中是否提供了任何选项?