我有一個使用maven-nar插件構建和打包的本地共享庫。這很好,建立在Linux/MacOSX/Windows上。我還定義了一個使用maven-nar構建的JNI庫,它包裝共享庫。這兩個都是作爲NAR工件生成的,並且需要使用maven-nar插件才能使用。在webapp中使用原生Maven工件(nar)
從非NAR打包的項目中聲明對這些NAR的依賴關係時出現問題。 maven-nar插件似乎永遠不會被調用。只有當我將項目的包裝改爲NAR時,maven-nar插件纔會啓動。這使得看起來NAR包裝需要具有傳染性才能工作,如果有NAR依賴項,則所有上游項目都需要進行NAR打包。這是正確的還是我錯過了什麼?
使用maven-nar插件生成的本地共享庫和JNI工件是否可以成功用於Web應用程序,即WAR?如果它們可以在WAR中使用和部署,那麼它是如何完成的?否則,是將手動庫手動放置在應用程序服務器的java.library.path中的某個位置的唯一選項?
這裏的POM的依賴於NAR JNI神器項目的一個片段:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>thegroup</groupId>
<artifactId>theparent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>thedependant</artifactId>
<packaging>jar</packaging>
<name>A nice name</name>
...
<properties>
<skipTests>true</skipTests>
</properties>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-nar-plugin</artifactId>
<version>2.1-SNAPSHOT</version>
</plugin>
</plugins>
</build>
...
<dependencies>
<dependency>
<groupId>thegoup</groupId>
<artifactId>theJNI</artifactId>
<version>1.0-SNAPSHOT</version>
<type>nar</type>
</dependency>
</dependencies>
...
</project>
你能發佈相關的pom片段嗎?應該可以將本地庫聲明爲「war」類型項目的依賴關係 – Raghuram 2012-03-09 03:47:22