2010-03-15 3 views
2

Я использую maven в своем проекте java, и я не понимаю, как добавить в родные библиотеки. В моем проекте, отличном от maven, я сделал это через CLASSPATH. Я использую NetBeans и maven в своем текущем проекте java.Maven и родные библиотеки

+0

ли вы проверить http://stackoverflow.com/questions/2410384/managing-native-libraries-with-maven? –

+1

Я не хочу делать банку и распаковывать ее, возможно ли использовать только что-то вроде CLASSPATH? –

ответ

4

Если вы просто хотите добавить родные библиотеки в путь к классу, попробуйте поместить их в src/main/resources.

Update: Вы можете указать, где resources существуют в POM:

<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, но мой проект имеет разную структуру. что я должен делать? –

+0

@EK. Или поместите собственные библиотеки в каталог, который вы определили как «», или добавьте детали на свой вопрос (например, ваш POM и структуру проекта), чтобы я мог предоставить больше рекомендаций. –

+0

моя структура проекта очень простая. только одна папка/src/(и test, bin, config, target, lib). что я должен изменить в pom, к указанной папке ресурсов maven с libs. это самая интересная часть моей ПОМ, я думаю <Исходный_каталог> ЦСИ тест СПАСИБО! –

1

вы можете определить свой родной LIB, как таким образом

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

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

  • Нет связанных вопросов^_^