java – 在Jenkins中使用Eclipse编译器来获取编译器警告/错误
发布时间:2020-12-14 16:22:13 所属栏目:Java 来源:网络整理
导读:我想要在我的Jenkins Job中显示 eclipse编译器警告. 我知道可以使用ant javac适配器使用 Eclipse编译器. 这样Eclipse编译器警告在使用ant时显示. 问题是,当我在Jenkins中使用一个蚂蚁脚本时,他会忽略javac设置,并使用正常的编译器. 有没有人尝试在jenkins中
我想要在我的Jenkins Job中显示
eclipse编译器警告.
我知道可以使用ant javac适配器使用 Eclipse编译器. 这样Eclipse编译器警告在使用ant时显示. 问题是,当我在Jenkins中使用一个蚂蚁脚本时,他会忽略javac设置,并使用正常的编译器. 有没有人尝试在jenkins中使用eclipse编译器并获取编译器警告?甚至可能将编译器警告发送到声纳? 解决方法
在使用Eclipse编译器
ant javac adapter出现问题后,我将使用
batch compiler代替在单独的目标中生成Eclipse警告.然后我使用
Warnings Plugin来解析Jenkins中生成的编译器警告.
批处理编译器方便地打包在一个单独的jar中,可以在Eclipse项目download page的“JDT Core Batch Compiler”部分下载,也可以在公共maven存储库中作为Eclipse ECJ. 如果您将ecj jar升级到ecj.dir,则可能会使用以下生成脚本来生成Eclipse警告, build.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <project name="some-project" default="eclipse-warnings" basedir="."> <target name="eclipse-warnings" depends="init"> <property name="ecj.log.dir" value="${build.dir}/ecj" /> <property name="ecj.warnings.file" value="${ecj.log.dir}eclipse_compiler_out.txt"/> <delete dir="${ecj.log.dir}" /> <mkdir dir="${ecj.log.dir}" /> <property name="ecj.properties" value="${basedir}etcecjeclipse_compiler.properties" /> <!-- Redirect output to tempfile if you don't want results also on console --> <tempfile property="ecj.output.tempfile" suffix=".log" deleteonexit="true" /> <echo message="Generating Eclipse warnings to ${ecj.warnings.file}" /> <java jar="${ecj.dir}/ecj.jar" fork="true" maxmemory="512m" output="${ecj.output.tempfile}"> <arg value="-cp" /> <arg value="${toString:compile.classpath}" /> <arg value="-d" /> <arg value="none" /> <arg value="-enableJavadoc" /> <arg value="-log" /> <arg value="${ecj.warnings.file}" /> <arg value="-${javac.source.version}" /> <arg value="-properties" /> <arg value="${ecj.properties}" /> <arg value="${src.dir}" /> <arg value="${test.dir}" /> </java> <!-- Echo number of warnings found --> <loadfile srcfile="${ecj.warnings.file}" property="ecj.warnings.file.summary"> <filterchain> <tailfilter lines="1" /> </filterchain> </loadfile> <echo message="${ecj.warnings.file.summary}" /> </target> </project> eclipse_compiler.properties包含编译器警告/错误设置,可以从项目的.settings / org.eclipse.jdt.core.prefs文件复制或在 eclipse_compiler.properties #Eclipse compiler warnings and errors org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |