java.net.MalformedURLException:对于输入字符串:在Wildfly 15中运行或调试Netbeans Java项目时为“ 8080undefined”

时间:2019-04-29 22:37:42

标签: java java-ee netbeans wildfly wildfly-15

我有一个使用Netbeans开发的JavaEE简单HelloWorld项目。如果我对其进行调试或运行,则在这些情况下(至少)它可以按预期工作:

1) Netbeans 8.2 + Wildfly 12
2) Netbeans 10 + Wildfly 12
3) Netbeans 11 + Wildfly 12

但失败了(至少):

1) Netbeans 8.2 + Wildfly 15
2) Netbeans 10 + Wildfly 15
3) Netbeans 11 + Wildfly 15

当我尝试使用Wildfly 15运行或调试时显示的错误是:

Browsing: http://localhost:8080undefined/

java.net.MalformedURLException: For input string: "8080undefined"
    at java.net.URL.<init>(URL.java:627)
    at java.net.URL.<init>(URL.java:490)
    at java.net.URL.<init>(URL.java:439)
    at org.netbeans.modules.ant.browsetask.NbBrowse.execute(NbBrowse.java:67)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
    at org.apache.tools.ant.Task.perform(Task.java:350)
    at org.apache.tools.ant.Target.execute(Target.java:449)
    at org.apache.tools.ant.Target.performTasks(Target.java:470)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1361)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:261)
    at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:574)
    at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:128)
Caused by: java.lang.NumberFormatException: For input string: "8080undefined"

如果我深入研究该问题,似乎是由于对build-impl.xml上的$ {client.url}的错误解释引起的,但我不知道如何解决该问题。

一种解决方法是添加

<target if="do.display.browser.debug" name="debug-display-browser">
        <nbbrowse context="" url="http://localhost:8080/" urlPath="${client.urlPart}"/>
</target>

位于项目根目录下build.xml的末尾,但我想知道如何解决问题的根源。

我不得不说错误没有被阻止,这意味着该项目已成功部署,但是没有打开浏览器,这在某种程度上令人讨厌。如果我手动打开浏览器并写下URL,则一切正常。

亲切的问候

1 个答案:

答案 0 :(得分:0)

这是一个答案,但不幸的是不是解决方案!...

  • 这可能是Wildfly 15.0.1.Final - Web Application Error的副本,但没有提供解决方案。

  • 我也可以使用Netbeans 8.2 + Wildfly 15重现您的问题,尽管它在Wildfly 12中也可以正常工作。您不太可能从NB 8.2的Oracle中获得任何修复程序。

  • 请注意,有一个关于在NB11中使用Wildfly的公开错误报告:NETBEANS-2415 Bring back support for WildFly server。显然(至少)插件存在许可问题:

    AFAIK,该插件存在许可证问题。我们有他们的贡献者,他们试图推动管理层为Wildfly插件提供Apache兼容许可证。如果仍不能解决问题,则该插件可能需要移至外部门户。

  • 另请参阅打开的错误报告NETBEANS-2367 wildfly support disabled,以及本次讨论的内容:No wildlfy plugin on Netbeans 11

  • 您指出的是:
    • 这不是Wildfly的问题,而是NetBeans。
    • 这很烦人,但并不严重。

总结:

  • 几乎可以肯定不会从Oracle获得有关NetBeans 8.2的问题的修复程序。
  • 对于Apache NetBeans的最新版本(> = NetBeans 9.0),目前似乎不支持Wildfly。在解决该问题之前,您也不会获得针对NetBeans最新版本的任何修复。