maven配置:
<!-- 编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<!-- 源码风格使用1.7风格 -->
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<!--必须添加compilerArgument配置,才能使用JFinal的Controller方法带参数的功能-->
<compilerArgument>-parameters</compilerArgument>
<!--<compilerArgs>-->
<!--<compilerArg>-parameters</compilerArg>-->
<!--</compilerArgs>-->
<!-- 编译跳过代码编译类 -->
<excludes>
<!-- 排除应用程序编译类 -->
<exclude>**/ApplicationCodeGenerator.java</exclude>
</excludes>
</configuration>
</plugin>
maven编译日志
[DEBUG] Goal: org.apache.maven.plugins:maven-compiler-plugin:3.5.1:testCompile (default-testCompile)
[DEBUG] Style: Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<basedir default-value="${basedir}"/>
<buildDirectory default-value="${project.build.directory}"/>
<classpathElements default-value="${project.testClasspathElements}"/>
<compileSourceRoots default-value="${project.testCompileSourceRoots}"/>
<compilerArgument>-parameters</compilerArgument>
[DEBUG] (f) compileSourceRoots = [/data/lib/jenkins/workspace/component-system/jzdoctor-component/jzdoctor-component-system/src/main/java]
[DEBUG] (f) compilerArgument = -parameters
[DEBUG] (f) compilerId = javac
[DEBUG] (f) debug = true
[DEBUG] (f) encoding = UTF-8
[DEBUG] (f) excludes = [**/ApplicationCodeGenerator.java]
运行警告信息:
Oct 31, 2018 10:03:13 PM com.jfinal.core.paragetter.ParaProcessorBuilder warn
WARNING: you should add compiler flag -parameters to support parameter auto binding
经过仔细排查,偶然灵机一闪,发现是因为依赖造成的!!!
主工程依赖了一个api组件以及kit组件,主工程虽然指定了compilerArgument参数,但是api组件以及kit组件在打包的时候并未指定compilerArgument参数。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。