У меня есть проект, который работает нормально, когда его файл войны генерируется с помощью файла войны экспорта eclipse.
Я сгенерировал файл war через ant build, используя build.xml, импортировал файл war как проект и запустил его.
Пользовательский интерфейс приложения появляется, но когда я тестирую его функциональность, он выдает следующее исключение.
SEVERE: Servlet.service () для сервлета [rest] в контексте с путем [/ 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.method.support.InvocableHandlerMethod.getMethodArgumentValues (InvocableHandlerMethod.java:157)
в org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest (InvocableHandlerMethod.java:124)
в org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle (ServletInvocableHandlerMethod.java:104)
в org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod (RequestMappingHandlerAdapter.java:748)
в org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (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.processRequest (FrameworkServlet.java:931)
в org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:822)
на javax.servlet.http.HttpServlet.service (HttpServlet.java:621)
в org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:807)
на javax.servlet.http.HttpServlet.service (HttpServlet.java:722)
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:304)
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210)
в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:240)
в org.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)в org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:250)
в org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process (Http11Protocol.java:188)
в 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)
в 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>
`
Я думаю, что проблема в том, что весенние банки не компилируются должным образом во время строительства войны. Кто-нибудь может предложить какое-либо решение?