Spring Boot项目单个文件如何使用javac加-Xlint:unchecked参数编译排查告警
具体操作步骤
- 第一步:切换到项目的Java源码根目录
执行命令:cd /Users/my/workspace/替换为你的项目实际名称/src/main/java
该目录是你Java类包结构的根目录,必须在该路径下执行javac才能匹配到FooService的包路径。 - 第二步:导出项目所有依赖的classpath路径
先切换到项目根目录(即pom.xml文件所在的目录),执行以下命令生成依赖路径文件:mvn dependency:build-classpath -Dmdep.outputFile=classpath.txt
执行完成后项目根目录会生成名为classpath.txt的文件,里面包含了所有项目依赖的jar包完整路径。 - 第三步:执行带参数的javac编译命令
回到之前的src/main/java目录,执行编译命令:javac -Xlint:unchecked -cp "$(cat /替换为你的项目根路径/classpath.txt):/替换为你的项目根路径/target/classes" com/myCom/appName/service/FooService.java
注意:Windows系统下路径分隔符需要将:替换为;,同时读文件的写法根据你使用的终端调整为对应语法。 - 第四步:查看告警详情
命令执行完成后,控制台会直接输出FooService.java中所有未检查/不安全操作的具体代码行、错误原因等详细信息。
补充简化方案:如果不需要单独编译单个文件,可直接在maven中配置编译参数全局生效,在pom.xml中添加如下配置:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <compilerArgs> <arg>-Xlint:unchecked</arg> </compilerArgs> </configuration> </plugin> </plugins> </build>配置完成后执行
mvn compile即可直接输出所有unchecked操作的详细告警信息,无需单独编译单个文件。
内容的提问来源于stack exchange,提问作者zhuguowei
相关产品推荐
相关产品推荐

