2015-07-16 13 views
1

Я конвертирую проект Android на Gradle в Maven и нанесли удар по скорости, когда речь заходит о включении SimpleXML Framework.Исключить некоторые классы с помощью сборки Maven

В Gradle можно указать следующее при импорте библиотеки:

compile('org.simpleframework:simple-xml:2.7.+') { 
     exclude module: 'stax' 
     exclude module: 'stax-api' 
     exclude module: 'xpp3' 

Как я могу сделать это в Maven пожалуйста? Я пробовал использовать плагин Shade, но я думаю, что я это испортил. Вот моя попытка:

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>2.4.1</version> 
      <executions> 
       <execution> 
       <phase>package</phase> 
       <goals> 
        <goal>shade</goal> 
       </goals> 
       <configuration> 
        <artifactSet> 
        <excludes> 
         <exclude>stax</exclude> 
         <exclude>stax-api</exclude> 
         <exclude>xpp3</exclude> 
        </excludes> 
        </artifactSet> 
       </configuration> 
       </execution> 
      </executions> 
      </plugin> 

ответ

2

Я думаю, что вы хотите, описано здесь: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

В основном , в теге <depdency> библиотеки, где вы хотите что-то исключить, добавьте <exclusions>. Пример по ссылке:

<dependencies> 
<dependency> 
    <groupId>sample.ProjectA</groupId> 
    <artifactId>Project-A</artifactId> 
    <version>1.0</version> 
    <scope>compile</scope> 
    <exclusions> 
    <exclusion> <!-- declare the exclusion here --> 
     <groupId>sample.ProjectB</groupId> 
     <artifactId>Project-B</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 

+0

Отлично, спасибо. Я видел это раньше, но не знал идентификаторов group/artifact - мне нужно было войти в мое репозиторинг maven и открыть pom.xml для платформы SimpleXML, чтобы получить их. Надеюсь, это поможет кому-то другому. – conor

0

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

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
    <excludes> 
     <exclude>**/src/main/java/*.java</exclude> 
    </excludes> 
    </configuration> 

+0

Можете ли вы объяснить, что это делает? – conor

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