
[英]Error java.lang.IllegalArgumentException: Name for argument type [java.lang.String]
[英]Exception “java.lang.IllegalArgumentException: Name for argument type [java.lang.String] not available” ant build problem
我有一个项目,当它的war文件是通过eclipse导出war文件生成时运行正常。 我使用build.xml通过ant build生成war文件,并将war文件作为项目导入并运行它。 应用程序UI出现,但是当我测试其功能时,它会给出以下异常。
严重:servlet [rest]的Servlet.service()在路径[/ crest]的上下文中引发异常[请求处理失败; 嵌套异常是java.lang.IllegalArgumentException:参数类型的名称[java.lang.String]不可用,并且在类文件中找不到参数名称信息。]具有根本原因java.lang.IllegalArgumentException:参数类型的名称[java .lang.String]不可用,并且在类文件中也找不到参数名称信息。 org.springframework.util.Assert.notNull(Assert.java:112)org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.updateNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:138)org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver .getNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:117)在org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:84)在org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:79 )在在org.springframework.web org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:157)在org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:124)。 servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invoke AndHandle(ServletInvocableHandlerMethod.java:104)位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter的org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:748)。 handleOternal(RequestMappingHandlerAdapter.java:689)org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)位于org.springframework.web.servlet.FrameworkServlet.doGet的org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931) (FrameworkServlet.java:822),位于javax.servlet.http的org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)的javax.servlet.http.HttpServlet.service(HttpServlet.java:621)。 HttpServlet的 .service(HttpServlet.java:722)org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org。 apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)atg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase。 java:462)org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)org.apache.catalina.valves .AccessLogValve.invoke(AccessLogValve.java:562)位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)的org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)at at在org.apache.coyote.http11.Ht的org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:166)org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run( JIoEndpoint.java:302)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run (Thread.java:724)
build.xml文件
`
<?xml version="1.0" encoding="UTF-8"?>
<project name="APPNAME" default="deploy-tomcat">
<property file="build.properties"/>
<!-- Define the CLASSPATH -->
<path id="compile.classpath">
<fileset dir="../WebContent/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="path-test">
<property environment="env"/>
<echo message="Path is :${env.Path}"/>
</target>
<target name="init" description="init">
<property environment="env"/>
<echo message="Path is :${env.Path}"/>
<mkdir dir="../dest"/>
<mkdir dir="../target"/>
</target>
<target name="clean" description="clean" depends ="init">
<echo>Cleaning out directories</echo>
<delete file="../WebContent/WEB-INF/lib/APPNAME.jar"/>
<delete file="../target/APPNAME.war"/>
<delete>
<fileset dir="../dest" includes="**/*.class"/>
</delete>
</target>
<target name="compile" depends="init, clean"
description="Compile Java sources and copy to WEB-INF/classes dir">
<javac source="1.7" target="1.7" srcdir="../src"
destdir="../dest">
<classpath refid="compile.classpath"/>
</javac>
</target>
<target name="jar" depends="compile" description="jar">
<jar destfile="../WebContent/WEB-INF/lib/APPNAME.jar" basedir="../dest">
</jar>
</target>
<target name="build-war" depends = "jar">
<war destfile="../target/APPNAME.war"webxml="../WebContent/WEB-INF/web.xml">
<fileset dir="../WebContent">
<include name="**/*.*"/>
</fileset>
</war>
</target>
<target name="deploy-tomcat" depends="build-war">
<antcall target="tomcat-shutdown"></antcall>
<sleep seconds="5"/>
<echo>Deleting ${tomcat.dfoflag.dir}</echo>
<delete dir="${tomcat.APPNAME.dir}"/>
<copy file="../target/APPNAME.war" todir="${tomcat.home}/webapps">
</copy>
<antcall target="tomcat-startup"></antcall>
</target>
</project>
“我认为问题是在战争建设期间没有正确编制弹簧罐,任何人都可以建议任何解决方案吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.