java.nio.file.InvalidPathException:非法char<:>在索引4:http://central.maven.org/maven2/org/jboss/weld/servlet/weld-servlet/2.1.2.Final

时间:2014-09-19 02:40:56

标签: maven netbeans jetty cdi

我正在尝试使用jetty9.2.3部署一个简单的Helloworld jsf2.2项目 我使用netbeans插件添加jetty服务器并在服务器中启用jsf和cdi 但是,服务器永远不会成功启动,当我尝试启动jetty服务器时,它总是显示以下错误。

java.nio.file.InvalidPathException: Illegal char <:> at index 4: http://central.maven.org/maven2/org/jboss/weld/servlet/weld-servlet/2.1.2.Final/weld-servlet-2.1.2.Final.jar:lib/cdi/weld-servlet-2.1.2.jar
at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
at sun.nio.fs.AbstractPath.resolve(AbstractPath.java:53)
at org.eclipse.jetty.start.BaseHome.getBasePath(BaseHome.java:204)
at org.eclipse.jetty.start.Main.start(Main.java:722)
at org.eclipse.jetty.start.Main.main(Main.java:111)

Usage: java -jar start.jar [options] [properties] [configs]
   java -jar start.jar --help  # for more information
Java Result: -5
run:
java.nio.file.InvalidPathException: Illegal char <:> at index 4: 
http://central.maven.org/maven2/org/jboss/weld/servlet/weld-servlet/2.1.2.Final/weld-servlet-2.1.2.Final.jar:lib/cdi/weld-servlet-2.1.2.jar
at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
at sun.nio.fs.AbstractPath.resolve(AbstractPath.java:53)
at org.eclipse.jetty.start.BaseHome.getBasePath(BaseHome.java:204)
at org.eclipse.jetty.start.Main.start(Main.java:722)
at org.eclipse.jetty.start.Main.main(Main.java:111)

Usage: java -jar start.jar [options] [properties] [configs]
   java -jar start.jar --help  # for more information
Java Result: -5

我搜索了很多,发现没有人遇到这个问题 我错过了什么?有什么我需要配置吗?
谢谢。

2 个答案:

答案 0 :(得分:0)

Stacktrace用于错误的启动配置。

听起来Netbeans正在做一些不正确的设置Jetty的事情。 (可能是焊接或cdi模块定义不好)

提交netbeans关于其启动的错误。

答案 1 :(得分:0)

当Jetty尝试下载库Weld时,错误是错误的,它在jetty中启用了CDI。 尝试以下(对不起我的英语:P):

  1. 转到Netbeans创建jetty.base文件夹的文件夹(通常位于NetBeansProjects文件夹/ JettyServerInstance / jettybase。
  2. 打开文件jettybase / modules / cdi-weld.mod,复制此处显示的链接(http://central.maven.org/maven2/org/jboss/weld/servlet/weld-servlet/2.1.2.Final/weld-servlet-2.1.2.Final.jar)并下载该jar。将其复制到文件夹jettybase / lib / cdi / weld-servlet-2.1.2.jar (确切名称以粗体显示)
  3. 修改jettybase / modules / cdi-weld.mod的第5行(或者通常是[files]部分后面的行)并保留jar的本地路径(lib / cdi / weld-servlet-2.1。 2.jar)。
  4. 如果您启用了JSF支持,请执行以下操作:

    1. 转到Netbeans创建jetty.base文件夹的文件夹(通常位于NetBeansProjects文件夹/ JettyServerInstance / jettybase。
    2. 打开文件jettybase / modules / jsf-mojarra.mod,复制此处显示的链接(http://repo1.maven.org/maven2/org/glassfish/javax.faces/2.2.5/javax.faces-2.2.5.jar)并下载该jar。将其复制到文件夹jettybase / lib / jsf / javax.faces-2.2.5.jar (名称以粗体显示)
    3. 修改jettybase / modules / jsf-mojarra.mod的第5行(或者通常是[files]部分后面的行)并且只保留jar的本地路径(lib / jsf / javax.faces-2.2。 5.jar)。
    4. 让我知道前面的步骤是否适用于您的情况。感谢。