как исключить исходники java из стороннего jar? - PullRequest
2 голосов
/ 29 января 2010

У меня есть одна зависимость jar в моем проекте java, которая также содержит исходники, и когда я запускаю mvn compile, эти исходники java появляются как файлы классов в моем скомпилированном выводе maven: (... Как я могу исключить эти файлы .. (я хочу, чтобы в скомпилированном выводе были только мои собственные скомпилированные файлы)

Я пробовал что-то вроде:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-compiler-plugin</artifactId>
 <version>2.1-SNAPSHOT</version>
 <configuration>
  <excludes>
    <exclude>**/bv/**/*.java</exclude>
   </excludes>
 </configuration>
</plugin>

Поиграл с ним, но они продолжают появляться в моем скомпилированном выводе maven :( ..

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 29 января 2010

Насколько я понимаю, это нормальное поведение javac, которое ищет во всем пути к классам исходные файлы для компиляции, если не указана опция -sourcepath (и это будет решением здесь).

К сожалению, существует проблема Jira, связанная с тем, что -sourcepath не передается в javac плагином компилятора Maven (см. MCOMPILER-98 ), но существует обходной путь. Итак, не могли бы вы попробовать это:

<plugin>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
    <compilerArguments>
      <sourcepath>${project.basedir}/src/main/java</sourcepath>
    </compilerArguments>
  </configuration>
</plugin>
2 голосов
/ 29 января 2010

Будет ли предоставленный объем работать?

От: http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html:

Это очень похоже на компиляцию, но означает, что вы ожидаете JDK или контейнер для обеспечения зависимости при во время выполнения.

0 голосов
/ 23 мая 2013

Вы можете передать параметр -implicit:none компилятору

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
      <compilerArgument>-implicit:none</compilerArgument>
    </configuration>
  </plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...