2010-03-02 4 views
31

Ich bin versucht, ein Java-Web-Projekt auf NetBeans 6.8 zu bauen, aber ich bekomme die folgende Fehlermeldung erhalten:Was bedeutet "URI hat eine Autoritätskomponente"?

The module has not been deployed.

Er verweist auf meine build-impl.xml Datei, Zeile 577:

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

Der Glassfish v3 Fehlerprotokoll sagt:

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. 

Was bedeutet "URI eine Behörde Komponente" bedeuten?

+0

Meinst du das mit ‚j2ee‘ markieren? –

+0

Ich schaute 'URI Syntax Autorität Komponente' und das sieht aus wie eine gute Referenz: http://www.ietf.org/rfc/rfc2396.txt ... – vkraemer

+0

glauben Sie, es hat etwas damit zu tun, dass meine Netbeans-Arbeitsbereich befindet sich über einem unc-verbundenen Pfad? – Kirby

Antwort

25

Die Lösung war einfach, dass der URI fehlerhaft war (weil der Speicherort meines Projekts über einen "\\" UNC-Pfad lag). Dieses Problem wurde behoben, als ich einen lokalen Arbeitsbereich verwendete.

+1

Können Sie mir den kompletten StackTrace aus dem Server Log schicken? Es scheint so, als müsste hier ein Code behoben werden ... oder eine bessere Fehlermeldung. – vkraemer

+0

lassen Sie mich wissen, wo Sie es senden? oder poste es in einem Kommentar? – Kirby

+2

Leider hat das für mich nichts gelöst. Alles läuft schon von meiner lokalen Maschine ab. – Webnet

2

Wechseln Sie in den GlassFish-Ausgang, um bessere Informationen zu erhalten. Netbeans gibt Ihnen diesen allgemeinen Fehler, aber Glassfish gibt Ihnen die Details. Wenn ich das bekomme, ist es normalerweise ein Tippfehler in einer meiner JSP- oder XML-Dateien ...

+0

Ich habe den Glassfish-Fehler oben gepostet. Ich habe meine Tippfehler und Syntax doppelt überprüft. immernoch nicht sicher. – Kirby

1

hatte ich das gleiche Problem (NetBeans 6.9.1) und das Update ist so einfach :)

ich NetBeans realisiert keinen Ordner META-INF und somit wurde kein context.xml gefunden erstellt haben, so schaffe ich das META-INF-Ordner unter dem Hauptprojektordner und erstellen Sie die Datei context.xml mit dem folgenden Inhalt.

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

Und es läuft :)

0

ich, dass die URL der Anwendung mit einem Modul in der Sun Glassfish Konflikt herausgefunden. Also, in der Datei sun-web.xml habe ich die < Kontext-Stamm>/Servlets-Beispiele </Kontext-Root> umbenannt.

Es funktioniert jetzt.

0

Ich sah auch ähnliches Problem während der Arbeit an Affable Bean E-Commerce-Site-Entwicklung. Ich erhielt einen Fehler:

Module has not been deployed.

Ich habe die sun-resources.xml Datei und fand die folgenden Anweisungen, die zu dem Fehler geführt.

<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> 

Dann änderte ich die Aussagen zu den folgenden, die einfach ist und funktioniert. Ich konnte die Datei erfolgreich ausführen.

<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

Nach einem Skelett Projekt versucht, "JSF-blank", die dieses Problem nicht mit XHTML-Dateien zeigen, haben; Ich kam zu dem Schluss, dass es in meinem Projekt ein unbekanntes Problem gab. Meine Lösung war vielleicht nicht zu elegant, aber es hat Zeit gespart. Ich habe den Code und andere Dateien, die ich bereits entwickelt hatte, gesichert, das Projekt gelöscht und das Projekt neu erstellt. Bis jetzt habe ich die meisten Dateien wieder hinzugefügt und es sieht ziemlich gut aus.

17

Eine Autorität ist ein Teil eines URI. Ihr Fehler deutet darauf hin, dass es keinen erwartet hat. Der Autoritätsabschnitt ist unten gezeigt, es ist der so genannte Website-Teil der URL.

Von RFC3986 auf 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 

So gibt es zwei Formate, eines mit einer Behörde und einer nicht. In Bezug auf Schrägstriche:

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

Quelle: http://www.rfc-base.org/txt/rfc-3986.txt (Suche nach Text ‚Behörde nicht vorhanden ist, kann der Pfad nicht mit zwei slash beginnen‘)