2015-02-24 2 views
3

Я использую следующий построить путь к классам в моей Maven pom.xmlИспользуйте подкаталоги с classpathPrefix в Maven pom.xml

    <manifest> 
         <addClasspath>true</addClasspath> 
         <classpathPrefix>lib/</classpathPrefix> 
        </manifest> 

Существует каталог под «Lib», который я также хочу добавить classpath, но он, похоже, не подбирает его.

Есть ли способ сделать это?

+1

Почему кажется, что он не подбирает? Разве это не появилось в манифесте.mf? [Это] (http://www.mkyong.com/maven/how-to-create-a-manifest-file-with-maven/) может помочь вам – Jan

+0

Нет - не отображается в манифесте – eeijlar

+0

извините, коррекция - он появляется в манифесте, но не добавляет каталог под lib в путь, поэтому lib/myfolder/myjar.jar становится lib/myjar.jar в манифесте - он не сохраняет путь к папке. – eeijlar

ответ

0

Вы не можете сделать это с помощью плагина jar. Попробуйте сборки плагин, он является более гибким

0

Если вы хотите добавить каталог в Class-Path в вашем файле манифеста, вы можете добавить что-то вроде этого, чтобы ваш pom.xml

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
     <configuration> 
      <archive> 
       <manifest> 
        <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
        <addClasspath>true</addClasspath> 
        <mainClass>your_main_class</mainClass> 
       </manifest> 
       <manifestEntries> 
        <Class-Path>lib/myfolder/</Class-Path> 
       </manifestEntries> 
      </archive> 
     </configuration> 
    </plugin> 
+0

Это будет загружать все зависимости в lib/myfolder /, но ни одна из зависимостей в lib /. Мне нужно это для поддержки lib/и lib/myfolder /. – eeijlar

+0

Вы попробовали lib/ или добавили их оба? –

+0

Добавление нескольких записей, кажется, не имеет никакого значения, это только поднимает последнюю запись: ' Lib/ Библиотека/mylib1 Библиотека/mylib2' В этом случае только mylib2 ставится на пути к классам – eeijlar

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