maven build An unknown compilation problem occurred

  • Post author:
  • Post category:其他


项目在开发环境下使用maven clean package 是成功的,

在jenkins下进行build就是失败的。

其中主要的失败日志就是:

Error org.apache.maven.cli.MavenCli – Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project china-great: Compilation failure

Error org.apache.maven.cli.MavenCli – An unknown compilation problem occurred

Error org.apache.maven.cli.MavenCli – -> [Help 1]

Error org.apache.maven.cli.MavenCli –

Error org.apache.maven.cli.MavenCli – To see the full stack trace of the errors, re-run Maven with the -e switch.

Error org.apache.maven.cli.MavenCli – Re-run Maven using the -X switch to enable full debug logging.

Error org.apache.maven.cli.MavenCli –

Error org.apache.maven.cli.MavenCli –  For more information about the errors and possible solutions, please read the following articles:

Error org.apache.maven.cli.MavenCli –  [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

但是这些异常日志其实是没有太大用处的。

还好,我继续往上面翻日志的时候,发现了一个宝藏,正式这个宝藏帮助我找到了解决的办法

Fatal Error: Unable to find package java.lang in classpath or bootclasspath

然后可以看到pom.xml中定义了

<compilerArgs>

<arg>

${JAVA_HOME}/jre/lib/rt.jar;${JAVA_HOME}/jre/lib/jce.jar

</arg>

</compilerArgs>

里面的;在windows下面是没有问题的,但是在linux下面是有问题的,

请参考:


http://maven.apache.org/plugins/maven-dependency-plugin/build-classpath-mojo.html

中的


<pathSeparator>

Override the char used between path folders. The system-dependent path-separator character. This field is initialized to contain the first character of the value of the system property path.separator. This character is used to separate filenames in a sequence of files given as a path list. On UNIX systems, this character is ‘:’; on Microsoft Windows systems it is ‘;’.


User property is

: mdep.pathSeparator.

好的,那我们就将;修改为${path.separator},问题解决。



版权声明:本文为u011134399原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。