>我目前正在做一个项目,其中包括使用 JNotify 来监视目录/文件何时创建、重命名/修改和删除。 该项目是用 Java 6 构建的,而不是 Java 7。 JNotify使用JNI挂接到本机操作系统来监视目录/文件。 我的问题是我需要将JNotify放入我们的存储库中,但我希望构建它,以便java.library.path(DLL)与JNI JAR打包在一起。 我将如何在Maven中做到这一点?
我能够使用以下 maven 插件找到我需要的解决方案:http://code.google.com/p/mavennatives/
您可能必须手动将 jar 上传到存档实例。
存储库格式是固定的,因此您需要在检索工件后执行重命名。这取决于您打算在检索后如何使用它。
这是一个常见的模式,如下所示:
<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
目录中