it-swarm.com.ru

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

Я пытаюсь построить веб-проект 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 имеет компонент полномочий" означает?

39
Kirby

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

31
Kirby

Полномочия - это часть 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 (поиск текста 'права доступа отсутствуют, путь не может начинаться с двух слешей')

23
S Meaden

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

2
Brian Knoblauch

У меня была такая же проблема (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"/>

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

1
shereifhawary

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

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

0
MostafaEweda

Я также столкнулся с подобной проблемой, работая над созданием сайта электронной коммерции 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
Zakir Sajib

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

0
Mike GH