2010-03-15 97 views
2

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

+0

你检查你的http://stackoverflow.com/questions/2410384/managing-native-libraries-with-maven本地库? – 2010-03-15 15:41:52

+1

我不想做jar和解压它,是否有可能使用像CLASSPATH之类的东西? – 2010-03-15 16:16:01

回答

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(或者你必须配置每一个插件为您的自定义布局,这是更多的问题来源而不是好处)。

+0

对不起,我是maven的新手,但我的项目有不同的结构。我该怎么办? – 2010-03-15 16:39:20

+0

@EK将本地库放入您定义为“”的目录中,或者为您的问题添加详细信息(如您的POM和项目结构),以便我可以提供更多指导。 – 2010-03-15 16:48:41

+0

我的项目结构非常简单。 只有一个文件夹/ src /(和test,bin,config,target,lib)。 我应该改变在POM,以说明使用资源文件夹与libs。 这是我的聚甲醛的最有趣的部分,我觉得 的src 测试 谢谢! – 2010-03-15 17:03:23

1

,你可以这样定义方式

<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>