Что означает «URI имеет компонент полномочий»? - PullRequest
41 голосов
/ 02 марта 2010

Я пытаюсь построить веб-проект Java на NetBeans 6.8, но получаю следующую ошибку:

Модуль не был развернут.

Указывает на мой build-impl.xml файл, строка 577:

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

В журнале ошибок GlassFish v3 написано:

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.

Что означает "URI имеет компонент полномочий" означает?

Ответы [ 7 ]

31 голосов
/ 03 марта 2010

Решение было просто в том, что URI был искажен (потому что местоположение моего проекта было по пути \\ "UNC) Эта проблема была исправлена, когда я использовал локальное рабочее пространство.

24 голосов
/ 31 июля 2015

Полномочия - это часть URI. Ваша ошибка говорит о том, что она не ожидала. Раздел полномочий показан ниже, это то, что известно как часть URL-адреса веб-сайта.

Из RFC3986 на URI :

Ниже приведен пример URI и его составных частей:

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

Итак, существует два формата: один с полномочиями, а другой нет. Что касается слешей:

"Когда авторитет отсутствует, путь не может начинаться с двух слешей
символы ("//")."

Источник: http://www.rfc -base.org / txt / rfc-3986.txt (для поиска текста ' нет прав доступа, путь не может начинаться с двух слэшей ' )

2 голосов
/ 02 марта 2010

Перейдите на вкладку вывода GlassFish, она даст вам лучшую информацию. Netbeans дает вам эту общую ошибку, но Glassfish дает вам детали. Когда я получаю это, обычно это опечатка в одном из моих файлов JSP или XML ...

1 голос
/ 24 сентября 2010

У меня была такая же проблема (NetBeans 6.9.1), и исправить это так просто:)

Я понял, что NetBeans не создал папку META-INF, поэтому context.xml не было найдено, поэтому я создаю папку META-INF в основной папке проекта и создаю файл context.xml со следующим содержимым.

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

И это работает:)

0 голосов
/ 27 марта 2012

После попытки создания скелетного проекта под названием "jsf-blank", который не продемонстрировал эту проблему с файлами xhtml; Я пришел к выводу, что в моем проекте была неизвестная проблема. Мое решение, возможно, не было слишком изящным, но это сэкономило время. Я сделал резервную копию кода и других файлов, которые я уже разработал, удалил проект и начал заново - заново создал проект. Пока что я добавил обратно большинство файлов, и это выглядит довольно хорошо.

0 голосов
/ 18 октября 2010

Я также столкнулся с подобной проблемой, работая над созданием сайта электронной коммерции Affable Bean. Я получил ошибку:

Модуль не был развернут.

Я проверил файл sun-resources.xml и нашел следующие утверждения, которые привели к ошибке.

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

Затем я изменил утверждения на следующее, что просто и работает. Мне удалось успешно запустить файл.

<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 голосов
/ 27 сентября 2010

Я обнаружил, что URL-адрес приложения конфликтует с модулем в Sun GlassFish. Итак, в файле sun-web.xml я переименовал в / servlets-samples </ context-root>.

Сейчас работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...