java - 测试 restful 时出错

标签 java netbeans

我使用 netbeans 7.0.1 的这个项目有什么错误

Error occurred during deployment: Exception while deploying the app [WebApplication] : org.xml.sax.SAXParseException; lineNumber: 30; columnNumber: 30; Deployment descriptor file WEB-INF/web.xml in archive [web].  cvc-complex-type.2.4.a: Invalid content was found starting with element 'persistence-context-ref'. One of '{"http://java.sun.com/xml/ns/j2ee":description, "http://java.sun.com/xml/ns/j2ee":display-name, "http://java.sun.com/xml/ns/j2ee":icon, "http://java.sun.com/xml/ns/j2ee":distributable, "http://java.sun.com/xml/ns/j2ee":context-param, "http://java.sun.com/xml/ns/j2ee":filter, "http://java.sun.com/xml/ns/j2ee":filter-mapping, "http://java.sun.com/xml/ns/j2ee":listener, "http://java.sun.com/xml/ns/j2ee":servlet, "http://java.sun.com/xml/ns/j2ee":servlet-mapping, "http://java.sun.com/xml/ns/j2ee":session-config, "http://java.sun.com/xml/ns/j2ee":mime-mapping, "http://java.sun.com/xml/ns/j2ee":welcome-file-list, "http://java.sun.com/xml/ns/j2ee":error-page, "http://java.sun.com/xml/ns/j2ee":jsp-config, "http://java.sun.com/xml/ns/j2ee":security-constraint, "http://java.sun.com/xml/ns/j2ee":login-config, "http://java.sun.com/xml/ns/j2ee":security-role, "http://java.sun.com/xml/ns/j2ee":env-entry, "http://java.sun.com/xml/ns/j2ee":ejb-ref, "http://java.sun.com/xml/ns/j2ee":ejb-local-ref, "http://java.sun.com/xml/ns/j2ee":service-ref, "http://java.sun.com/xml/ns/j2ee":resource-ref, "http://java.sun.com/xml/ns/j2ee":resource-env-ref, "http://java.sun.com/xml/ns/j2ee":message-destination-ref, "http://java.sun.com/xml/ns/j2ee":message-destination, "http://java.sun.com/xml/ns/j2ee":locale-encoding-mapping-list}' is expected.. Please see server.log for more details.
    C:\Users\win-7\Desktop\WebApplication\nbproject\build-impl.xml:727: 
    The module has not been deployed.
        at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:210)
        at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:106)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:390)
        at org.apache.tools.ant.Target.performTasks(Target.java:411)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
        at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:284)
        at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:539)
        at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
    BUILD FAILED (total time: 2 seconds)

网络.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<web-app
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     <servlet>
         <description>Generated servlet for Java ME Client to Web Application </description>
         <display-name>Javon service for  MyPackage.WebToMobileServlet</display-name>
         <servlet-name>WebToMobileServlet</servlet-name>
         <servlet-class>MyPackage.WebToMobileServlet</servlet-class>
     </servlet>
     <servlet>
         <servlet-name>ServletAdaptor</servlet-name>
         <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
         <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet-mapping>
         <servlet-name>WebToMobileServlet</servlet-name>
        <url-pattern>/servlet/MyPackage.WebToMobileServlet</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
         <servlet-name>ServletAdaptor</servlet-name>
         <url-pattern>/resources/*</url-pattern>
     </servlet-mapping>
     <session-config>
         <session-timeout>
             30
         </session-timeout>
     </session-config>
     <welcome-file-list>
         <welcome-file>index.jsp</welcome-file>
     </welcome-file-list> 
     <persistence-context-ref> 
        <persistence-context-ref-name>persistence/WebApplicationPU</persistence-context-ref-name>
        <persistence-unit-name>WebApplicationPU</persistence-unit-name>
     </persistence-context-ref> 
     <resource-ref>
         <res-ref-name>UserTransaction</res-ref-name>
         <res-type>javax.transaction.UserTransaction</res-type>
         <res-auth>Container</res-auth> 
     </resource-ref> 
</web-app>

最佳答案

您的 web.xml 文件格式不正确,您可以在这里发布吗?

elemnet persistence-context-ref 属于 Java EE 5。您的 web.xml 应该使用 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd模式不是 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd

仅更改它不会解决问题,您的项目是为 1.4 规范创建的,而该标记是为 Java EE 5 规范创建的。

使用正确的规范版本重新创建项目或不使用该标签。

web.xml 文件的 header 必须如下所示:

xmlns="http://java.sun.com/xml/ns/javaee"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"  
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

关于java - 测试 restful 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7853492/

相关文章:

java - Swing JTabbedPane - 插入内容

java - 如何启用 github 操作以访问 secret 属性文件

java - ¿如何在 Debug模式下查找请求的参数?

java - iText PDF 创建错误

java - 无法在 Apache POI 3.5 .jar 中引用 XSSF

netbeans - 如何在 netbeans 中打开文件/项目资源管理器的 2 个窗口?

Java IO 无法读取 Java Applet 下的输入文件

java - Camel处理器单元/集成测试

java - 在 Java 应用程序中使用网络摄像头

java - Libgdx 单击获取 x、y 坐标