Java Nutch 1.14失败的maven

Java Nutch 1.14失败的maven,java,maven,nutch,Java,Maven,Nutch,我在构建nutch1.14项目时遇到了一个问题(在RHEL6、Java1.8上) 我已经为Maven和Java定义了env选项 但是当我执行mvn-X安装时,我有这个错误 [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 26.502 s [INFO] Finished at: 2018-01-16T

我在构建nutch1.14项目时遇到了一个问题(在RHEL6、Java1.8上) 我已经为Maven和Java定义了env选项

但是当我执行mvn-X安装时,我有这个错误

    [INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26.502 s
[INFO] Finished at: 2018-01-16T09:35:05+01:00
[INFO] Final Memory: 47M/656M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project nutch: Compilation failure: Compilation failure: 
[ERROR] /opt/NUTCH/nutch-1.14/src/java/org/apache/nutch/fetcher/FetcherThread.java:[511,17] incompatible types: java.lang.String cannot be converted to org.slf4j.Marker
[ERROR] /opt/NUTCH/nutch-1.14/src/java/org/apache/nutch/fetcher/FetcherThread.java:[522,17] incompatible types: java.lang.String cannot be converted to org.slf4j.Marker
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project nutch: Compilation failure
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:858)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:129)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
[ERROR] 
[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/MojoFailureException
有什么想法吗?谢谢 我已尝试删除文件夹/root/.m2/存储库,但不会影响此错误

这是FetecherThread.java中的代码错误

if (origHost.equals(newHost)) {
            LOG.debug(
                " - ignoring redirect {} from {} to {} because internal links are ignored", redirType, urlString, newUrl);
            return null;

因为这一行的论点是错误的

LOG.debug(" - ignoring redirect {} from {} to {} because internal links are ignored", redirType, urlString, newUrl);

请参阅日志框架的Javadoc以了解正确用法。

我认为当您使用带有3个字符串参数的SL4J时,API认为您需要使用以下方法:

info(标记、字符串格式、对象arg1、对象arg2)

而不是:

info(字符串格式、对象…参数)

这就是编译错误的原因

有多种方法可以解决此问题:

示例1:使用
String.format

LOG.debug(String.format(" - ignoring redirect %s from %s to %s because internal links are ignored", redirType, urlString, newUrl));

我不是说这是错误的,但你怎么知道这是错误的?也许解释一下会很好。是的,这是FetcherThread.java中的这一行,但我不知道它错在什么参数上,为什么?@DoNhuVy:我想你是对的。但这里实际上提供了解释:。如果用户减少日志调用中的参数数量,那么它应该可以工作。告诉我类日志的完整包名是什么。我强烈建议您扫描Maven错误输出,查看是否有更详细的错误消息。通常会对编译过程中失败的内容进行解释,例如:
…MatchFunctions.java:[31,10];'预期
此输出已显示mvn-X安装时的唯一错误[error]/opt/NUTCH/NUTCH-1.14/src/java/org/apache/NUTCH/fetcher/FetcherThread.java:[511,17]不兼容类型:java.lang.String无法转换为org.slf4j.Marker[错误]/opt/NUTCH/NUTCH-1.14/src/java/org/apache/NUTCH/fetch/fetcher/FetcherThread.java:[522,17]不兼容的类型:java.lang.String无法转换为org.slf4j.Marker[错误]->[帮助1]您是否也尝试使用
mvn-e clean install运行过?这将提供扩展输出。@quentquont您检查过了吗?: