我正在用maven构建我的项目。根据{{3}}添加了detekt
配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<inherited>false</inherited>
<executions>
<execution>
<!-- This can be run separately with mvn antrun:run@detekt -->
<id>detekt</id>
<phase>validate</phase>
<configuration>
<target name="detekt">
<java taskname="detekt" dir="${project.basedir}"
fork="true"
failonerror="false"
classname="io.gitlab.arturbosch.detekt.cli.Main"
classpathref="maven.plugin.classpath">
<arg value="--input"/>
<arg value="${project.basedir}/src/main/kotlin"/>
<arg value="--config"/>
<arg value="${project.basedir}/src/main/resources/sv_detekt.yml"/>
<arg value="--filters"/>
<arg value=".*/test/.*,.*/target/.*,.*/resources/.*"/>
<arg value="--output"/>
<arg value="${project.build.directory}/detekt-reports"/>
<arg value="--output-name"/>
<arg value="checkstyle-result"/>
/>
</java>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>io.gitlab.arturbosch.detekt</groupId>
<artifactId>detekt-cli</artifactId>
<version>1.0.0.RC8</version>
</dependency>
</dependencies>
</plugin>
然后,我尝试通过以下命令执行它:mvn antrun:run@detekt
结果如下:
$ mvn antrun:run@detekt
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< com.my:opd >--------------------------
[INFO] Building opd 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-antrun-plugin:1.3:run (detekt) @ opd ---
[INFO] Executing tasks
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.295 s
[INFO] Finished at: 2018-08-10T11:46:02+03:00
[INFO] ------------------------------------------------------------------------
看起来不错,但是没有创建文件夹${project.build.directory}/detekt-reports
,并且没有任何报告。我做错了什么?
答案 0 :(得分:0)
我不确定问题出在哪里,但是当通过intellij中的maven工具执行detekt时,它工作正常。可能是Windows终端中的问题...