3

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

4

3 回答 3

2

我能够使用以下 maven 插件找到所需的解决方案:http ://code.google.com/p/mavennatives/

于 2012-04-18T15:07:56.083 回答
0

您可能必须手动将 jar 上传到您的档案实例。

于 2012-04-16T21:07:38.670 回答
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目录中

于 2012-04-18T11:59:46.027 回答