2017-01-17 7 views
0

Я пытался конвертировать старые java-проекты в maven build, но столкнулся с трудностями, исключая исходные файлы:В Maven как исключить файлы src в компиляции при наличии пользовательского пути src?

Когда я установил цель установки для родительского проекта для компиляции и сборки файлов jar для всех проектов, он по-прежнему пытается скомпилируйте упомянутый исключенный файл java. Ниже мой pom.xml для этого проекта:

<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"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.app</groupId> 
    <artifactId>CCAPS.Impl</artifactId> 
    <version>1.0.0</version> 

    <parent> 
     <groupId>com.app</groupId> 
     <artifactId>parent</artifactId> 
     <version>1.0</version> 
     <relativePath>../Maven.Convertion/parent</relativePath> 
    </parent> 

    <properties> 
     ... 
    </properties> 

    <dependencies> 
     ... 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <excludes> 
         <exclude>**/adjudication/mapper/BusinessAddendumItemDBOMapper.java</exclude> 
         <exclude>**/adjudication/mapper/ContactInfoDBOMapper.java</exclude> 
         <exclude>**/adjudication/mapper/IncomeDBOMapper.java</exclude> 
         <exclude>**/adjudication/mapper/IncomeItemDBOMapper.java</exclude> 
         <exclude>**/adjudication/mapper/InternationalAddressDBOMapper.java</exclude> 
         <exclude>**/adjudication/mapper/ReferralSourceDBOMapper.java</exclude> 
         <exclude>**/adjudication/interceptor/*.java</exclude> 
        </excludes> 
       </configuration> 
      </plugin> 
     </plugins> 
     <sourceDirectory>${project.basedir}/src/net/ccapsws/ds/adjudication</sourceDirectory> 
    </build> 
</project> 

Последняя строка для исключения является, где при компиляции ошибки броски:

[ERROR] \Maven Convertion\CCAPSAdjudication\DataSource.CCAPS.Impl\src\net\gc\ccapsws\ds\adjudication\interceptor\CCAPSDTOAuditInterceptor.java:[8,46] error: package net.ccapsws.validation.dictionary does not exist 

Дело в том, когда я пытался с исключения декларации, но с пути Src является обычным ($ {project.basedir}/src/net/ccapsws/ds/adjudicationm, например, это путь src), я подозреваю, что maven не распознает путь? Кто-нибудь может помочь с этим?

ЗАМЕЧАНИЕ, что я не запрашиваю файлы ресурсов, я хочу скомпилировать файлы внутри папки src, но также хочу исключить определенные java-файлы во время компиляции.

EDIT: Есть еще один проект, ссылающийся на этот проект, но в родительском POM я помещаю этот проект после этого проекта в последовательность реактора, поэтому я не думаю, что в другом месте ссылка на этот проект отсутствует.

+0

это значит, вы хотите скомпилировать только файлы в «/ SRC/нетто/ccapsws/DS/вынесения решения» и исключить все, что еще – ravthiru

+0

@ravthiru Да и нет. Я хочу скомпилировать файлы в src /...../ adjudication, но хочу исключать файлы в тегах exclude в моем POM, особенно /adjudication/interceptor/*.java, где он все еще пытается скомпилировать. – Paul

+0

Если исключенные пакеты используются в других пакетах (которые не исключены), то даже исключенные пакеты собираются из-за зависимости. – ravthiru

ответ

0

Вопрос путь похож на проблемы ответил на эти ссылки: https://stackoverflow.com/a/25262893/4055837 и https://stackoverflow.com/a/39450549/4055837

+0

Спасибо, но, как я уже сказал, исключение ресурсов не будет выполнять эту работу, так как я хочу скомпилировать весь проект без этого конкретного java-файла. Тег ресурса копирует только файлы. – Paul

+0

Я заметил это, поэтому я отредактировал в двух «ответах» на аналогичный вопрос, касающийся путей. Возможно, ваша работа по созданию ищет _adududication/adjudication_ по исключению (я столкнулся с этим с заданиями Дженкинса). – Sean

+0

Отмечая это как ответ, однако сам ответ не помогает, это 2 ссылки ниже кода, который @Sean опубликовал. Это на самом деле проблема пути: я уже упоминал о пользовательском пути сборки, все, что мне нужно добавить, это путь к завершению, в моем случае это ***/interceptor/*. Java. Спасибо, Шон. Еще одна вещь, я думаю, если у вас есть родительский POM, устанавливающий плагин компиляции, убедитесь, что comb.self = «переопределить», указанную в теге конфигурации вашего дочернего. – Paul