3

聲明:我是Scala的新手,並試圖在IntelliJ IDEA中使用簡單的Scala archtype創建示例Scala Maven項目。 IntelliJ版本是14.1.2Scala模塊在IntelliJ Idea Maven項目中的Scala簽名錯誤

下面是我的pom文件,我沒有將2.7版本的Scala版本更改爲2.11.6,默認情況下該版本是由原型生成的。

<!-- language: lang-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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>learn.rxscala</groupId> 
    <artifactId>rxscala-reactive-course-play</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
    <inceptionYear>2008</inceptionYear> 
    <properties> 
    <scala.version>2.11.6</scala.version> 
    <slf4j.version>1.7.5</slf4j.version> 
    <reactivex.version>0.23.0</reactivex.version> 
    <rx.scala.compat.version>2.11</rx.scala.compat.version> 
    <scala.async.version>0.9.2</scala.async.version> 
    </properties> 

    <repositories> 
    <repository> 
     <id>scala-tools.org</id> 
     <name>Scala-Tools Maven2 Repository</name> 
     <url>http://scala-tools.org/repo-releases</url> 
    </repository> 
    </repositories> 

    <pluginRepositories> 
    <pluginRepository> 
     <id>scala-tools.org</id> 
     <name>Scala-Tools Maven2 Repository</name> 
     <url>http://scala-tools.org/repo-releases</url> 
    </pluginRepository> 
    </pluginRepositories> 

    <dependencies> 
    <dependency> 
     <groupId>org.scala-lang</groupId> 
     <artifactId>scala-library</artifactId> 
     <version>${scala.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.10</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.specs</groupId> 
     <artifactId>specs</artifactId> 
     <version>1.2.5</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>io.reactivex</groupId> 
     <artifactId>rxscala_${rx.scala.compat.version}</artifactId> 
     <version>${reactivex.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.scala-lang.modules</groupId> 
     <artifactId>scala-async_${rx.scala.compat.version}</artifactId> 
     <version>${scala.async.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${slf4j.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>${slf4j.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
    </dependency> 
    </dependencies> 

    <build> 
    <sourceDirectory>src/main/scala</sourceDirectory> 
    <testSourceDirectory>src/test/scala</testSourceDirectory> 
    <plugins> 
     <plugin> 
     <groupId>org.scala-tools</groupId> 
     <artifactId>maven-scala-plugin</artifactId> 
     <executions> 
      <execution> 
      <goals> 
       <goal>compile</goal> 
       <goal>testCompile</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <scalaVersion>${scala.version}</scalaVersion> 
      <args> 
      <arg>-target:jvm-1.5</arg> 
      </args> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    <reporting> 
    <plugins> 
     <plugin> 
     <groupId>org.scala-tools</groupId> 
     <artifactId>maven-scala-plugin</artifactId> 
     <configuration> 
      <scalaVersion>${scala.version}</scalaVersion> 
     </configuration> 
     </plugin> 
    </plugins> 
    </reporting> 
</project> 

在運行Maven的測試中,我不斷收到以下錯誤 -

[WARNING] error: error while loading JUnit4, Scala signature JUnit4 has wrong version 
[WARNING] expected: 5.0 
[WARNING] found: 4.1 in JUnit4.class 

我不知道如何解決這個問題?

+0

我無法複製此內容。這是一個非常奇怪的警告,特別是因爲沒有JUnit版本5.0。你有沒有嘗試[文件] - > [無效緩存/重新啓動...]?這爲我之前修復了一些奇怪的錯誤。儘管如此,這個XML仍然會產生一些警告,因爲各個依賴似乎取決於不同的Scala 2.11版本;所以你應該從這些依賴中排除Scala。 –

+0

有沒有找到一個解決這個問題? – DJElbow

回答

1

只要確保使用最新的scala-archetype-simple,因爲IDEA需要使用新的scala-archetype-simple。但是默認情況下,IDEA不提供正確的scala-srchetype--選擇簡單,你需要自己輸入正確的。

這就像。

groupId:net.alchim31.maven 

artifactId:scala-archetype-simple 

version:1.6 

packaging:maven-archetype 
相關問題