2015-05-30 32 views
1

我使用scala-maven-plugin使用Maven構建Scala項目。我的項目依賴於來自Java 8的一些庫。我想在我的pom中指定該項目需要Java 8(使用類似於-target=jdk-1.8的東西,它似乎不存在),以便在某人遇到某人時會更優雅/嘗試使用Java版本<進行編譯8.目前,它只是無法找到我想要導入的包。要求Java 8使用Maven構建Scala項目

我試着用sourcetarget設定的附加maven-compiler-plugin〜1.8,因爲scala-maven-plugin正在處理編譯,而不是maven-compiler-plugin這並不工作,大概。

這可能嗎?

+0

您是否試過這個? http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html – Bruno

+0

我有,它不工作,大概是因爲scala-maven-plugin處理編譯(我甚至沒有我的原始pom中的maven-compiler-plugin)。感謝您指出這一點,我會將其添加到我的問題。 –

+0

http://davidb.github.io/scala-maven-plugin/compile-mojo.html#jvmArgs – cchantep

回答

1

在運行Maven構建時,您可以使用Maven Enforcer Plugin來強制執行一些要聲明的規則。

這裏您要確保Java版本的版本至少爲8。您可以通過將以下內容添加到您的pom.xml文件中來實現此目的:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-enforcer-plugin</artifactId> 
     <version>1.4</version> 
     <executions> 
     <execution> 
      <id>enforce-java</id> 
      <goals> 
      <goal>enforce</goal> 
      </goals> 
      <configuration> 
      <rules> 
       <requireJavaVersion> 
       <version>[1.8,)</version> 
       </requireJavaVersion> 
      </rules>  
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build>