有如下的接口:
@Ok("json")
@At("/check/phone")
@POST
public NutMap checkPhone(String phone, HttpServletRequest request, HttpServletResponse response) {
// 这里的phone在开发的时候,也就是进行eclipse, tomcat运行项目时
// 这个phone能获取到
// 但是当放到单独的tomcat时. 或者使用eclipse tomcat server 进行添加外部的web项目时都为空
// 所以出现了,开发完全没问题. 但是部署后就出现了问题
System.out.println("phone::" + phone);
...
}
使用下面的方式没有问题, 加入了@Param("phone") , 请问为什么?
@Ok("json")
@At("/check/phone")
@POST
public NutMap checkPhone(@Param("phone") String phone, HttpServletRequest request, HttpServletResponse response) {
System.out.println("phone::" + phone); // 这样能获取到
...
}
10 回复
目测是maven编译的吧? 或者是ant?
因为eclipse用的是ecj编译,带顺序相关的方法变量名,而javac不带
可以这样: 用JDK8编译,然后带编译参数-paramters . 可以参考论坛源码的pom.xml
@wendal 是的, 用maven编译打包的.
同样遇到这个问题。我用maven编译。pom.xml如下,但是参数还是注入不了。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<target>1.8</target>
<source>1.8</source>
<encoding>UTF-8</encoding>
<encoding>UTF-8</encoding>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
<useIncrementalCompilation>false</useIncrementalCompilation>
</configuration>
</plugin>
@xwqiang nutz版本多少??
添加回复
请先登陆