Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在反应器中输出组Id:Artifact Id,而不仅仅是Artifact Id_Java_Maven - Fatal编程技术网

Java 在反应器中输出组Id:Artifact Id,而不仅仅是Artifact Id

Java 在反应器中输出组Id:Artifact Id,而不仅仅是Artifact Id,java,maven,Java,Maven,当我运行诸如“mvn安装”或“mvn验证”之类的maven命令时,maven将输出它构建的所有项目的工件ID。我想在脚本中使用此输出,然后调用类似于以下命令的内容: mvn clean install -pl <comma separated list of groupId:artifactId> maven在默认情况下不支持此功能,它将输出项目的名称,这是很难修复的 有关消息来源是什么 private void logReactorSummary( MavenSession se

当我运行诸如“mvn安装”或“mvn验证”之类的maven命令时,maven将输出它构建的所有项目的工件ID。我想在脚本中使用此输出,然后调用类似于以下命令的内容:

mvn clean install -pl <comma separated list of groupId:artifactId>

maven在默认情况下不支持此功能,它将输出项目的名称,这是很难修复的

有关消息来源是什么

private void logReactorSummary( MavenSession session )
{
    logger.info( chars( '-', LINE_LENGTH ) );

    logger.info( "Reactor Summary:" );

    logger.info( "" );

    MavenExecutionResult result = session.getResult();

    for ( MavenProject project : session.getProjects() )
    {
        StringBuilder buffer = new StringBuilder( 128 );

        buffer.append( project.getName() );
        buffer.append( ' ' );

        if ( buffer.length() <= MAX_PROJECT_NAME_LENGTH )
        {
            while ( buffer.length() < MAX_PROJECT_NAME_LENGTH )
            {
                buffer.append( '.' );
            }
            buffer.append( ' ' );
        }

        BuildSummary buildSummary = result.getBuildSummary( project );

        if ( buildSummary == null )
        {
            buffer.append( "SKIPPED" );
        }
        else if ( buildSummary instanceof BuildSuccess )
        {
            buffer.append( "SUCCESS [" );
            String buildTimeDuration = formatDuration( buildSummary.getTime() );
            int padSize = MAX_PADDED_BUILD_TIME_DURATION_LENGTH - buildTimeDuration.length();
            if ( padSize > 0 )
            {
                buffer.append( chars( ' ', padSize ) );
            }
            buffer.append( buildTimeDuration );
            buffer.append( "]" );
        }
        else if ( buildSummary instanceof BuildFailure )
        {
            buffer.append( "FAILURE [" );
            String buildTimeDuration = formatDuration( buildSummary.getTime() );
            int padSize = MAX_PADDED_BUILD_TIME_DURATION_LENGTH - buildTimeDuration.length();
            if ( padSize > 0 )
            {
                buffer.append( chars( ' ', padSize ) );
            }
            buffer.append( buildTimeDuration );
            buffer.append( "]" );
        }

        logger.info( buffer.toString() );
    }
}
private void日志反应器摘要(MavenSession会话)
{
logger.info(字符('-',行长度));
logger.info(“反应堆概要:”);
logger.info(“”);
MavenExecutionResult=session.getResult();
for(MavenProject项目:session.getProjects())
{
StringBuilder缓冲区=新的StringBuilder(128);
append(project.getName());
buffer.append(“”);
if(buffer.length()0)
{
追加(字符(“”,padSize));
}
append(buildTimeDuration);
缓冲区。追加(“]”);
}
else if(buildSummary实例of BuildFailure)
{
追加(“失败[”);
字符串buildTimeDuration=formatDuration(buildSummary.getTime());
int padSize=MAX_PADDED_BUILD_TIME_DURATION_LENGTH-buildTimeDuration.LENGTH();
如果(焊盘大小>0)
{
追加(字符(“”,padSize));
}
append(buildTimeDuration);
缓冲区。追加(“]”);
}
logger.info(buffer.toString());
}
}

如果您仍然想这样做,请签出源代码,更新此方法以输出您想要的构建maven的方式,并开始使用您的本地maven构建

阅读Jigar Joshi的评论后,我创建了一个具有我想要的功能的maven本地副本。我正在与Maven开发人员交谈,看看是否可以选择将groupId:artifactId输出到Maven的下一个版本。
private void logReactorSummary( MavenSession session )
{
    logger.info( chars( '-', LINE_LENGTH ) );

    logger.info( "Reactor Summary:" );

    logger.info( "" );

    MavenExecutionResult result = session.getResult();

    for ( MavenProject project : session.getProjects() )
    {
        StringBuilder buffer = new StringBuilder( 128 );

        buffer.append( project.getName() );
        buffer.append( ' ' );

        if ( buffer.length() <= MAX_PROJECT_NAME_LENGTH )
        {
            while ( buffer.length() < MAX_PROJECT_NAME_LENGTH )
            {
                buffer.append( '.' );
            }
            buffer.append( ' ' );
        }

        BuildSummary buildSummary = result.getBuildSummary( project );

        if ( buildSummary == null )
        {
            buffer.append( "SKIPPED" );
        }
        else if ( buildSummary instanceof BuildSuccess )
        {
            buffer.append( "SUCCESS [" );
            String buildTimeDuration = formatDuration( buildSummary.getTime() );
            int padSize = MAX_PADDED_BUILD_TIME_DURATION_LENGTH - buildTimeDuration.length();
            if ( padSize > 0 )
            {
                buffer.append( chars( ' ', padSize ) );
            }
            buffer.append( buildTimeDuration );
            buffer.append( "]" );
        }
        else if ( buildSummary instanceof BuildFailure )
        {
            buffer.append( "FAILURE [" );
            String buildTimeDuration = formatDuration( buildSummary.getTime() );
            int padSize = MAX_PADDED_BUILD_TIME_DURATION_LENGTH - buildTimeDuration.length();
            if ( padSize > 0 )
            {
                buffer.append( chars( ' ', padSize ) );
            }
            buffer.append( buildTimeDuration );
            buffer.append( "]" );
        }

        logger.info( buffer.toString() );
    }
}