2015-05-27 3 views
1

Я пытаюсь создать свой первый проект Maven моего кода, который можно найти здесь: https://github.com/jkinable/jorlibMaven исключить директорию из компиляции и выполнения тестов под

У меня есть 3 п файлы:

  1. https://github.com/jkinable/jorlib/blob/master/pom.xml
  2. https://github.com/jkinable/jorlib/blob/master/jorlib-core/pom.xml
  3. https://github.com/jkinable/jorlib/blob/master/jorlib-demo/pom.xml

Я хотел бы исключить все файлы в каталоге как от компиляции и тестирования:

jorlib-core/src/test/java/org/jorlib/frameworks/columnGeneration/tsp 

Обратите внимание на «тест» часть. В соответствии с этим website я могу использовать maven-compiler-plugin вместе с исключениями и testExcludes для этого. Поэтому я добавил плагин:

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-compiler-plugin</artifactId> 
<version>3.3</version> 
<configuration> 
    <source>1.8</source> 
    <target>1.8</target> 
    <excludes> 
     <exclude>**/org/jorlib/frameworks/columnGeneration/tsp/**</exclude> 
     <exclude>**/org/jorlib/frameworks/columnGeneration/tsp/**/*</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/**/*</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/master/Master.java</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/master/TSPMasterData.java</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/ExactPricingProblemSolver.java</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/master/cuts/SubtourInequalityGenerator.java</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/master/cuts/SubtourInequalityGenerator.java</exclude> 
     <exclude>**/src/**test**/java/org/jorlib/frameworks/columnGeneration/tsp/**/*</exclude> 
     <exclude>**/src/**test**/java/org/jorlib/frameworks/columnGeneration/tsp/**</exclude> 
     <exclude>**/src/**test**/java/org/jorlib/frameworks/columnGeneration/tsp/*</exclude> 
    </excludes> 
    <testExcludes> 
     <exclude>**/frameworks/**</exclude> 
     <exclude>**/org/jorlib/frameworks/columnGeneration/tsp/**</exclude> 
     <exclude>**/org/jorlib/frameworks/columnGeneration/tsp/**/*</exclude> 
     <exclude>/org/jorlib/frameworks/**</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/*</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/**/*</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/master/Master.java</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/master/TSPMasterData.java</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/ExactPricingProblemSolver.java</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/master/cuts/SubtourInequalityGenerator.java</exclude> 
     <exclude>**/src/test/java/org/jorlib/frameworks/columnGeneration/tsp/cg/master/cuts/SubtourInequalityGenerator.java</exclude> 
     <exclude>**/src/**test**/java/org/jorlib/frameworks/columnGeneration/tsp/**/*</exclude> 
     <exclude>**/src/**test**/java/org/jorlib/frameworks/columnGeneration/tsp/**</exclude> 
     <exclude>**/src/**test**/java/org/jorlib/frameworks/columnGeneration/tsp/*</exclude> 
    </testExcludes> 
</configuration> 

Я пробовал огромное количество исключающих правил (выше всего лишь небольшая часть). Я бегу «МВН чистой, МВН тест», но до сих пор я получаю ошибки компиляции на классы в

jorlib-core/src/test/java/org/jorlib/frameworks/columnGeneration/tsp 

Любые предложения о том, как справиться с этим?

ответ

0

Решение представляется простым. Следующий код хватает (обратите внимание на иск о testExcludes):

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
     <testExcludes> 
      <exclude>**/org/jorlib/frameworks/columnGeneration/tsp/**/*</exclude> 
     </testExcludes> 
    </configuration> 
</plugin> 

Это не работает для меня, потому что где-то в моем коде я имел одинокий оператор импорта, который импортирован файл из каталога я хотел исключить. Хотя этот конкретный файл вообще не использовался (я просто забыл удалить оператор импорта), только оператор импорта заставлял maven компилировать исключенный каталог в любом случае. Заставляет меня задаться вопросом, почему maven не обнаруживает это «столкновение»? Тем не менее я рад сообщить, что моя проблема решена.

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

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