2012-04-16 12 views
3

В настоящее время я работаю над проектом, который включает в себя использование JNotify для мониторинга, когда каталог/файл был создан, переименован/изменен и удален. Проект строится на Java 6, а не на Java 7. JNotify использует JNI для подключения к собственной ОС для мониторинга каталога/файла. Моя проблема в том, что мне нужно получить JNotify в нашем репо, но я хочу, чтобы он был построен так, чтобы java.library.path (DLL) был упакован с JNI JAR. Как мне это сделать в Maven?Получение JNotify в Maven/Archiva

ответ

0

Возможно, вы должны загрузить банку вручную в экземпляр archiva.

+2

Это не проблема, проблема в том, что просто использование JAR не помогает. Вам нужно иметь jnotify.dll и/или jnotify_64bit.dll в java.library.path. Возникает вопрос: «Как мы можем хранить JAR и DLL в репо, чтобы его можно было легко включить в проект для использования?» –

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

Смежные вопросы