分类:
java/scala(5)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011098327/article/details/74529099
在用maven对项目进行编译打包时,遇到了下面奇怪的编译错误
- "C:\Program Files\Java\jdk1.8.0\bin\java" "-Dmaven.home=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.2.1\plugins\maven\lib\maven3" "-Dclassworlds.conf=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.2.1\plugins\maven\lib\maven3\bin\m2.conf" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.2.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.2.1\plugins\maven\lib\maven3\boot\plexus-classworlds-2.4.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.2.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=2016.2.1 -s D:\apache-maven-3.2.5\conf\settings.xml package
- [INFO] Scanning for projects...
- [WARNING]
- [WARNING] Some problems were encountered while building the effective model for com.fangdd.data:house-profile:jar:1.0-SNAPSHOT
- [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-install-plugin is missing. @ line 181, column 21
- [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ line 173, column 21
- [WARNING]
- [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
- [WARNING]
- [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
- [WARNING]
- [INFO]
- [INFO] ------------------------------------------------------------------------
- [INFO] Building house-profile 1.0-SNAPSHOT
- [INFO] ------------------------------------------------------------------------
- [INFO]
- [INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce) @ house-profile ---
- [INFO]
- [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ house-profile ---
- [debug] execute contextualize
- [INFO] Using 'UTF-8' encoding to copy filtered resources.
- [INFO] skip non existing resourceDirectory D:\git-repository\house-profile\src\main\resources\prod
- [INFO] Copying 4 resources
- [INFO]
- [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ house-profile ---
- [INFO] Nothing to compile - all classes are up to date
- [INFO]
- [INFO] --- scala-maven-plugin:3.2.2:compile (default) @ house-profile ---
- [WARNING] Expected all dependencies to require Scala version: 2.10.0
- [WARNING] com.twitter:chill_2.10:0.5.0 requires scala version: 2.10.4
- [WARNING] Multiple versions of scala libraries detected!
- [INFO] D:\git-repository\house-profile\src\main\java:-1: info: compiling
- [INFO] D:\git-repository\house-profile\src\main\scala:-1: info: compiling
- [INFO] Compiling 27 source files to D:\git-repository\house-profile\target\classes at 1498550091810
- [ERROR] error: error while loading CharSequence, class file 'C:\Program Files\Java\jdk1.8.0\jre\lib\rt.jar(java/lang/CharSequence.class)' is broken
- [INFO] (class java.lang.RuntimeException/bad constant pool tag 15 at byte 1501)
- [ERROR] error: error while loading AnnotatedElement, class file 'C:\Program Files\Java\jdk1.8.0\jre\lib\rt.jar(java/lang/reflect/AnnotatedElement.class)' is broken
- [INFO] (class java.lang.RuntimeException/bad constant pool tag 15 at byte 2713)
- [ERROR] error: error while loading ConcurrentMap, class file 'C:\Program Files\Java\jdk1.8.0\jre\lib\rt.jar(java/util/concurrent/ConcurrentMap.class)' is broken
- [INFO] (class java.lang.RuntimeException/bad constant pool tag 15 at byte 2447)
- [ERROR] D:\git-repository\house-profile\src\main\scala\com\fangdd\data\profile\processor\ItemAddressProcessor.scala:21: error: overloaded method value replaceAllIn with alternatives:
- [ERROR] (target: CharSequence,replacer: scala.util.matching.Regex.Match => String)String <and>
- [ERROR] (target: CharSequence,replacement: String)String
- [ERROR] cannot be applied to (String, String)
- [ERROR] val addressReg = Constants.SPECIAL_CHAR_REG.r.replaceAllIn(address, "")
- [ERROR] ^
- [ERROR] D:\git-repository\house-profile\src\main\scala\com\fangdd\data\profile\processor\ItemNameProcessor.scala:24: error: type mismatch;
- [ERROR] found : String
- [ERROR] required: CharSequence
- [ERROR] if (StringUtils.isNotBlank(name)) {
- [ERROR] ^
- [ERROR] D:\git-repository\house-profile\src\main\scala\com\fangdd\data\profile\processor\ItemNameProcessor.scala:44: error: type mismatch;
- [ERROR] found : String
- [ERROR] required: CharSequence
- [ERROR] if (StringUtils.isNotBlank(name)) {
- [ERROR] ^
- [ERROR] D:\git-repository\house-profile\src\main\scala\com\fangdd\data\profile\processor\ItemNameProcessor.scala:55: error: overloaded method value indexOf with alternatives:
- [ERROR] (CharSequence,CharSequence)Int <and>
- [ERROR] (CharSequence,Int)Int
- [ERROR] cannot be applied to (String, String)
- [ERROR] val baseName = StringUtils.substring(tmp1, 0, StringUtils.indexOf(tmp1, ""))
- [ERROR] ^
- [ERROR] error: error while loading Pattern, class file 'C:\Program Files\Java\jdk1.8.0\jre\lib\rt.jar(java/util/regex/Pattern.class)' is broken
- [INFO] (class java.lang.RuntimeException/bad constant pool tag 15 at byte 14717)
- [ERROR] D:\git-repository\house-profile\src\main\scala\com\fangdd\data\profile\processor\ItemNameProcessor.scala:127: error: type mismatch;
- [ERROR] found : String
- [ERROR] required: CharSequence
- [ERROR] if (StringUtils.equals(srcNameNormalized, tgtNameNormalized)) {
- [ERROR] ^
- [ERROR] D:\git-repository\house-profile\src\main\scala\com\fangdd\data\profile\util\ItemAddressProcessor.scala:22: error: overloaded method value replaceAllIn with alternatives:
- [ERROR] (target: CharSequence,replacer: scala.util.matching.Regex.Match => String)String <and>
- [ERROR] (target: CharSequence,replacement: String)String
- [ERROR] cannot be applied to (String, String)
- [ERROR] val addressReg = Constants.SPECIAL_CHAR_REG.r.replaceAllIn(address, "")
- [ERROR] ^
- [ERROR] 10 errors found
- [INFO] ------------------------------------------------------------------------
- [INFO] BUILD FAILURE
- [INFO] ------------------------------------------------------------------------
- [INFO] Total time: 7.241s
- [INFO] Finished at: Tue Jun 27 15:54:55 CST 2017
- [INFO] Final Memory: 19M/259M
- [INFO] ------------------------------------------------------------------------
- [ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:compile (default) on project house-profile: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
- [ERROR]
- [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
- [ERROR] Re-run Maven using the -X switch to enable full debug logging.
- [ERROR]
- [ERROR] For more information about the errors and possible solutions, please read the following articles:
- [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
- Process finished with exit code 1
最后发现是maven编译插件配置的原因,编译插件版本不完整配置的是scala.binary.version,应该采用完整版本scala.complete.version才能找到具体的class
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <java.version>1.8</java.version>
- <maven.version.min>3.0.5</maven.version.min>
- <scala.binary.version>2.11</scala.binary.version>
- <scala.complete.version>${scala.binary.version}.4</scala.complete.version>
- <spark.version>1.6.2</spark.version>
- <spark-sql.version>1.6.2</spark-sql.version>
- <spark-hive.version>1.6.2</spark-hive.version>
- </properties>
- <plugin>
- <groupId>net.alchim31.maven</groupId>
- <artifactId>scala-maven-plugin</artifactId>
- <version>3.2.2</version>
- <configuration>
- <scalaVersion>${scala.complete.version}</scalaVersion>
- <args>
- <arg>-unchecked</arg>
- <arg>-deprecation</arg>
- <arg>-feature</arg>
- </args>
- <javacArgs>
- <javacArg>-source</javacArg>
- <javacArg>${java.version}</javacArg>
- <javacArg>-target</javacArg>
- <javacArg>${java.version}</javacArg>
- </javacArgs>
- </configuration>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- </plugin>