将JNotify添加到Maven/Archiva中

3

我目前正在开展一个项目,其中包括使用JNotify来监控目录/文件的创建、重命名/修改和删除。该项目是在Java 6中构建的,而不是Java 7。JNotify使用JNI来钩入本机操作系统以监视目录/文件。我的问题是,我需要将JNotify放入我们的仓库中,但我希望它被构建为将java.library.path(DLL)与JNI JAR打包在一起。我该如何在Maven中做到这一点?

3个回答

2

0

你可能需要手动将jar包上传到你的Archiva实例中。


2
这很简单,问题是仅仅拥有JAR文件是不够的。您需要在java.library.path中拥有jnotify.dll和/或jnotify_64bit.dll。问题是,“我们如何将JAR和DLL文件存储在存储库中,以便可以轻松地将其引入项目中供使用?” - Edward Kennedy

0

仓库格式是固定的,因此您需要在检索到构件后执行重命名操作。这取决于您检索后打算如何使用它。

这是一个常见的模式,类似于这样:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <configuration>
    <stripVersion>true</stripVersion>
  </configuration>
  <executions>
    <execution>
      <id>copy-jnotify</id>
      <configuration>
        <includeArtifactIds>JNotify</includeArtifactIds>
        <outputDirectory>${project.build.directory}/my-app</outputDirectory>
      </configuration>
      <goals>
        <goal>copy-dependencies</goal>
      </goals>
    </execution>
  </executions>
</plugin>

您可以使用适当的工件列表,将所有工件复制到target/my-app目录中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接