Maven和本地图书馆

时间:2010-03-15 15:37:36

标签: java maven-2 netbeans java-native-interface native

我在我的java项目中使用maven,我不明白如何添加本机库。在我的非maven项目中,我是通过CLASSPATH完成的。我在当前的java项目中使用NetBeans和maven。

2 个答案:

答案 0 :(得分:4)

如果您只想将本机库添加到类路径中,请尝试将它们放在src/main/resources中。

更新:您可以指定POM中存在resources的位置:

<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/xsd/maven-4.0.0.xsd">
  <build>
    ...
    <resources>
      <resource>
        <filtering>false</filtering>
        <directory>${basedir}/src/main/native</directory>
        <includes>
          <include>native.so</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      ...
    </testResources>
    ...
  </build>
</project>

但老实说,如果你决定使用Maven,你应该采用Maven的standard layout(或者你必须为自定义布局配置每个插件,这更多是问题的根源而不是好处)。

答案 1 :(得分:2)

你可以这样定义你的本地库

   <dependency>
      <groupId>com.***.</groupId>
      <artifactId>abc.jar</artifactId>
      <version>1.0</version>
      <scope>system</scope>
   <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/abc.jar</systemPath>
   </dependency>