2016-05-08 2 views
0

Мне нужно сделать банку из моего проекта Java, и мне нужно, чтобы он также содержал файлы классов одной из зависимостей, но не все из них. Я использовал maven-assembly-plugin, который включает в себя все файлы и создает огромную банку, но мне нужно толькоИмпортировать только одну зависимость в проекте Java Maven

<dependency> 
    <groupId>com.amazonaws</groupId> 
    <artifactId>aws-java-sdk</artifactId> 
    <version>1.10.45</version> 
</dependency> 

Я также попытался Maven плагин тени, но без результата: я как-то в конечном итоге в том числе всех зависимостей или исключая все из них

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
    <version>2.4.3</version> 
    <executions> 
     <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>shade</goal> 
      </goals> 
      <configuration> 
       <artifactSet> 
        <excludes> 
         <exclude>org.apache.spark:*</exclude> 
         <exclude>com.google.code.gson:*</exclude> 
         <exclude>edu.stanford.nlp:*</exclude> 
         <exclude>log4j:*</exclude> 
         <exclude>com.optimaize.languagedetector:*</exclude> 
         <exclude>info.debatty:*</exclude> 
        </excludes> 
       </artifactSet> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
+0

Хотите ли вы, что конкретная зависимость без его транзитивных зависимостей? Или с этим? – Tunaki

+0

@ Тунаки с его зависимостями – Tomy

ответ

0

использования «при условии» для области тега зависимостей, которые вы не хотите, чтобы включить в конечном файле фляга.

<dependency> 
    <groupId>GROUP_ID</groupId> 
    <artifactId>ARTIFACT_ID</artifactId> 
    <version>VERSION</version> 
    <scope>provided</scope> 
</dependency> 

и использование Maven сборки-плагин для создания баночку

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
     <archive> 
      <manifest> 
       <mainClass>MAIN_CLASS</mainClass> 
      </manifest> 
     </archive> 
    </configuration> 
</plugin> 
+0

Это не помогло. Я уверен, что это не так просто, как установить область зависимости. – Tomy

+0

Что? Это вообще не отвечает на вопрос. Знаете ли вы, что означает «предоставленный»? Кроме того, он злоупотребляет областью применения. – Tunaki

+0

@Tomy Вернитесь назад и обвините вас в том, что вы действительно попробовали его. –

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