2016-04-19 3 views
1

У меня есть проект со смешанным кодом java и scala, который использует maven для управления зависимостями и построения. Я использую maven-source-plugin построить источники-банку, который получает загруженную в Maven зеркало, которое работает хорошо для ява источников (в src/main/java), но не для SCALA источников (в src/main/scala).Как подключить источники scala к моему банку maven?

Не нашли справку по scala-maven-pluginwebpage, но я, возможно, пропустил что-то. Невозможно ли подключить источники scala в банке?

Следует отметить, что файлы классов все там, поэтому в зависимости от библиотеки работает нормально, просто отсутствуют источники scala.

ответ

3

У меня была аналогичная проблема; Я добавил maven-source-plugin штраф, но видел

[INFO] --- maven-source-plugin:3.0.0:jar (attach-sources) @ foo-bar --- 
[INFO] No sources in project. Archive not created. 

, когда я собирал мой проект Scala.

Чтобы это исправить, я добавил add-source цели моей scala-maven-plugin конфигурации, например:

<plugin> 
    <groupId>net.alchim31.maven</groupId> 
    <artifactId>scala-maven-plugin</artifactId> 
    <version>3.2.0</version> 
    <executions> 
     <execution> 
      <id>scala-compile-first</id> 
      <phase>process-resources</phase> 
      <goals> 
       <goal>compile</goal> 
       <goal>add-source</goal> 
      </goals> 
     </execution> 
     ... 
    </executions> 
    ... 
</plugin> 

Это добавляет ваш источник Scala в П, который, в свою очередь, позволяет в maven-source-plugin найти исходные файлы и поместить их в исходной банке.

http://davidb.github.io/scala-maven-plugin/add-source-mojo.html

+0

Это было идеальное решение! Благодаря тонну! (извините за поздний ответ, у меня не было времени, чтобы проверить это до сих пор) –

+0

Я обнаружил, что мне нужно удалить ' компиляцию' (я все равно компилировался в другом исполнении), и мне не нужен ' процессуальные ресурсы '. И стоит еще раз подчеркнуть, что «maven-source-plugin» все еще должен быть там. –

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