2010-03-02 13 views
31

Estoy tratando de construir un proyecto web Java en NetBeans 6.8, pero me sale el siguiente error:¿Qué significa 'URI tiene un componente de autoridad'?

The module has not been deployed.

Apunta a mi archivo build-impl.xml, la línea 577:

<nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/> 

El GlassFish v3 registro de errores dice:

SEVERE: Exception in command execution : java.lang.IllegalArgumentException: URI has an authority component 
java.lang.IllegalArgumentException: URI has an authority component 
    at java.io.File.<init>(File.java:368)`..., etc. 

¿Qué "URI tiene un componente de autoridad" significa?

+0

Quizás quiso decir en etiquetar este con 'J2EE'? –

+0

Miré hacia arriba 'URI autoridad componente sintaxis' y esto parece una buena referencia: http: //www.ietf.org/rfc/rfc2396.txt ... – vkraemer

+0

es lo que creo que tenga nada que ver con el hecho de que mi taht ¿El espacio de trabajo de netbeans está sobre una ruta no conectada? – Kirby

Respuesta

25

La solución fue simplemente que el URI estaba mal formado (porque la ubicación de mi proyecto estaba sobre un "\\" camino UNC). Este problema se solucionó cuando utilicé un espacio de trabajo local.

+1

¿Puede enviarme la pila completa desde el registro del servidor? Parece que debe haber una corrección de código aquí ... o un mejor mensaje de error. – vkraemer

+0

¿me dejó saber dónde enviarlo? o publicarlo en un comentario? – Kirby

+2

Desafortunadamente, esto no resolvió nada para mí. Todo se está ejecutando ya en mi máquina local. – Webnet

2

Pase la pestaña de salida GlassFish, le dará una mejor información. Netbeans le da ese error genérico, pero Glassfish le da los detalles. Cuando obtengo esto, generalmente es un error ortográfico en uno de mis archivos JSP o XML ...

+0

publiqué el error glassfish anterior. he comprobado dos veces mis errores tipográficos y la sintaxis. Todavía no estoy seguro. – Kirby

1

que tenían el mismo problema (NetBeans 6.9.1) y la solución es tan simple :)

me di cuenta de NetBeans no creó una carpeta META-INF y por lo tanto no context.xml se encontró, por lo que cree el Carpeta META-INF debajo de la carpeta principal del proyecto y crear el archivo context.xml con el siguiente contenido.

<?xml version="1.0" encoding="UTF-8"?> 
    <Context antiJARLocking="true" path="/home"/> 

Y funciona :)

0

descubrí que la dirección URL de la aplicación en conflicto con un módulo en el Sun GlassFish. Por lo tanto, en el archivo sun-web.xml cambié el nombre al < context-root>/servlets-samples </context-root>.

Ahora está trabajando.

0

También me enfrenté a un problema similar mientras trabajaba en el desarrollo de sitios de comercio electrónico de Affable Bean. He recibido un error:

Module has not been deployed.

he comprobado el archivo de sun-resources.xml y hallaron las siguientes declaraciones que dieron como resultado el error.

<resources> 
    <jdbc-resource enabled="true" 
        jndi-name="jdbc/affablebean" 
        object-type="user" 
        pool-name="AffableBeanPool"> 
    </jdbc-resource> 

    <jdbc-connection-pool allow-non-component-callers="false" 
          associate-with-thread="false" 
          connection-creation-retry-attempts="0" 
          connection-creation-retry-interval-in-seconds="10" 
          connection-leak-reclaim="false" 
          connection-leak-timeout-in-seconds="0" 
          connection-validation-method="auto-commit" 
          datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" 
          fail-all-connections="false" 
          idle-timeout-in-seconds="300" 
          is-connection-validation-required="false" 
          is-isolation-level-guaranteed="true" 
          lazy-connection-association="false" 
          lazy-connection-enlistment="false" 
          match-connections="false" 
          max-connection-usage-count="0" 
          max-pool-size="32" 
          max-wait-time-in-millis="60000" 
          name="AffableBeanPool" 
          non-transactional-connections="false" 
          pool-resize-quantity="2" 
          res-type="javax.sql.ConnectionPoolDataSource" 
          statement-timeout-in-seconds="-1" 
          steady-pool-size="8" 
          validate-atmost-once-period-in-seconds="0" 
          wrap-jdbc-objects="false"> 

     <description>Connects to the affablebean database</description> 
     <property name="URL" value="jdbc:mysql://localhost:3306/affablebean"/> 
     <property name="User" value="root"/> 
     <property name="Password" value="nbuser"/> 
    </jdbc-connection-pool> 
</resources> 

Luego cambié las declaraciones a lo siguiente, que es simple y funciona. Pude ejecutar el archivo con éxito.

<resources> 
    <jdbc-resource enabled="true" jndi-name="jdbc/affablebean" object-type="user" pool-name="AffablebeanPool"> 
     <description/> 
    </jdbc-resource> 
    <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="AffablebeanPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false"> 
     <property name="URL" value="jdbc:mysql://localhost:3306/AffableBean"/> 
     <property name="User" value="root"/> 
     <property name="Password" value="nbuser"/> 
    </jdbc-connection-pool> 
</resources> 
0

Después de probar un proyecto de esqueleto llamado "jsf-blank", que no demostró este problema con los archivos xhtml; Llegué a la conclusión de que había un problema desconocido en mi proyecto. Mi solución puede no haber sido demasiado elegante, pero ahorró tiempo. Hice una copia de seguridad del código y de otros archivos que ya había desarrollado, borré el proyecto y comencé de nuevo, recreé el proyecto. Hasta ahora, he vuelto a agregar la mayoría de los archivos y se ve bastante bien.

17

Una autoridad es una parte de un URI. Tu error sugiere que no esperaba uno. La sección de autoridad se muestra a continuación, es lo que se conoce como la parte del sitio web de la url.

De RFC3986 en URIs:

The following is an example URI and its component parts:

 foo://example.com:8042/over/there?name=ferret#nose 
    \_/ \______________/\_________/ \_________/ \__/ 
     |   |   |   |  | 
    scheme  authority  path  query fragment 
     | _____________________|__ 
    /\/      \ 
    urn:example:animal:ferret:nose 

Así que hay dos formatos, uno con una autoridad y no uno. En cuanto a las barras:

"When authority is not present, the path cannot begin with two slash
characters ("//")."

Fuente: http://www.rfc-base.org/txt/rfc-3986.txt (búsqueda de texto 'autoridad no está presente, el camino no puede comenzar con dos slash')

Cuestiones relacionadas