2016-11-23 83 views
1

我想使用maven-source-plugin爲我的kotlin項目創建一個source.jar,但似乎maven-source-plugin不適用於kotlin項目。maven-source-plugin不適用於kotlin

當我運行「MVN來源:罐子」

,輸出消息總是說:

[INFO] No sources in project. Archive not created. 

這裏是該項目的我的POM文件Maven的源插件配置:

<build> 
    <plugins> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-source-plugin</artifactId> 
      <version>2.2.1</version> 
      <executions> 
       <execution> 
        <id>attach-sources</id> 
        <phase>package</phase> 
        <goals> 
         <goal>jar</goal> 
        </goals> 
        <configuration> 
         <attach>true</attach> 
         <includes> 
     <!-- i am trying to specify the include dir manually, but not work -->        
         <include>${project.basedir}/src/main/kotlin/*</include> 
         </includes> 
         <forceCreation>true</forceCreation> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

我的問題是:如何使用maven-source-plugin附加kotlin源文件?

感謝~~

回答

3

默認情況下Maven認爲源是在src/main/java目錄。如果使用非默認目錄,則必須在build元素指定他們:

<build> 
    <sourceDirectory>src/main/kotlin</sourceDirectory> 
    <testSourceDirectory>src/test/kotlin</testSourceDirectory> 
</build> 
+0

@llya,謝謝,你說得對。在添加之後,maven-source-plugin生成source.jar。 –

+1

不幸的是,如果您的項目同時包含Java和Kotlin源代碼根,那麼執行此操作將導致源代碼工件僅包含Kotlin源代碼。 – Alex

5

當你的項目有混合Java和科特林(即多個源根),我發現,使用build-helper-maven-plugin運作良好,確保Java和Kotlin源都包含在構建的源文件中。

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>3.0.0</version> 

    <executions> 
    <execution> 
     <phase>generate-sources</phase> 
     <goals> 
     <goal>add-source</goal> 
     </goals> 
     <configuration> 
     <sources> 
      <source>src/main/kotlin</source> 
     </sources> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 
+0

謝謝Alex,我的項目中只有kotlin代碼。當項目中同時存在java和kotlin文件時,我會嘗試您的建議。謝謝 –

相關問題