我正在尝试在NetBeans 6.8上构建Java Web项目,但是我收到以下错误:
尚未部署该模块。
它指向我的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有权限组件”是什么意思?
答案 0 :(得分:31)
解决方案只是URI格式错误(因为我的项目位置超过了“\\”UNC路径)。当我使用本地工作区时,此问题已得到修复。
答案 1 :(得分:24)
权限是URI的一部分。你的错误表明它没有期待。权限部分如下所示,它就是网址的网站部分。
来自URIs上的RFC3986:
以下是示例URI及其组成部分:
foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
| _____________________|__
/ \ / \
urn:example:animal:ferret:nose
所以有两种格式,一种是权威,另一种不是。关于斜杠:
“当权限不存在时,路径不能以两个斜杠开头 characters(“//”)。“
来源:http://www.rfc-base.org/txt/rfc-3986.txt(搜索文字“权限不存在,路径不能以两个斜杠开头”)
答案 2 :(得分:2)
翻转到GlassFish输出标签,它会为您提供更好的信息。 Netbeans为您提供了一般错误,但Glassfish为您提供了详细信息。当我得到它时,它通常是我的一个JSP或XML文件中的拼写错误......
答案 3 :(得分:1)
我遇到了同样的问题(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"/>
它运行:)
答案 4 :(得分:0)
我发现应用程序的URL与Sun GlassFish中的模块冲突。
因此,在文件sun-web.xml
中,我重命名了&lt; context-root&gt; / servlets-samples&lt; / context-root&gt;。
现在正在运作。
答案 5 :(得分:0)
在开展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>
答案 6 :(得分:0)
尝试一个名为“jsf-blank”的骨架项目后,没有用xhtml文件证明这个问题;我的结论是我的项目中存在一个未知问题。我的解决方案可能不太优雅,但它节省了时间。我备份了我已经开发的代码和其他文件,删除了项目,然后重新开始 - 重新创建项目。到目前为止,我已经添加了大部分文件,看起来还不错。