【问题标题】:Maven Dll Dependency ProblemMaven Dll 依赖问题
【发布时间】:2011-10-17 10:32:13
【问题描述】:

我正在开发一个基于 swing 的桌面应用程序,该应用程序正在使用 MediaInfo.dll 库。我首先将此 dll 安装到我的本地存储库中,如 this answer 所述。然后我像这样在我的 pom.xml 中添加了一个依赖项

<dependency>
    <groupId>com.mediainfo</groupId>
    <artifactId>mediainfo</artifactId>
    <version>0.7.44</version>    
    <type>dll</type>    
</dependency>

我使用的是 Maven 3.0.3 版本,当我执行 mvn install assembly:assembly 时它说

找不到 PlexusIoResourceCollection,找不到 dll 的归档器

我是 maven 的新手,所以我正在寻求帮助,然后再拉出我的耳朵。

【问题讨论】:

  • 尝试在 x86 或 x64 的类型之前添加分类器标签。因此,如果您在 32 位环境中,请在类型标记之前添加 x86。如果可行,我将在下面发布答案。
  • 不,我试过了,但是不行
  • 好的,如果在那之前没有任何回应,下班后会再看看这个。
  • 谢谢。我会等你的答复。

标签: java maven


【解决方案1】:

这将取决于您的程序集描述符,但您似乎有一个 &lt;dependencySet&gt;,在其下指定了 &lt;unpack&gt;true&lt;/unpack&gt;,这不会从集合中排除 DLL。尝试将其添加到 dependencySet 元素中:

<excludes>
  <exclude>*:dll*</exclude>
</excludes>

如果您打算合并 DLL 依赖项而不解包它们,那么您可能需要一个额外的 dependencySet 元素来包含它们并且不指定 unpack 标志。请参阅http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_dependencySet 了解更多信息。

【讨论】:

  • 对于那些还没有精通 maven 的人,是否有可能给出一些上下文来说明这个“排除”XML 在 pom 中的位置?什么是父元素?依赖集的父级是什么?这种设置的最小 pom 是否可以发布?
猜你喜欢
  • 2020-10-21
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-26
  • 2021-08-10
相关资源
最近更新 更多