启动 Jboss 时出现 java.io.FileNotFoundException(文件名、目录名或卷标语法不正确)

标签 java jboss ioexception

启动 jboss 时出现以下错误:

java.io.FileNotFoundException: file:\C:\workspace4.3.2\workspacePLE.metadata.plugins\org.jboss.ide.eclipse.as.core\JBoss_AS_4.21507285539456\deploy\LocalDeploy.ear\ple.war\WEB-INF\lib\ple-data.jar!\data\config\HTMLEntities.res (The filename, directory name, or volume label syntax is incorrect)

at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at java.io.FileInputStream.<init>(FileInputStream.java:79)
    at com.inetpsa.ple.utilitaires.PleCharEntities.initialize(PleCharEntities.java:37)
    at com.inetpsa.ple.initialisation.OUInit.initHtmlEntities(OUInit.java:340)
    at com.inetpsa.ple.initialisation.OUInit.interneInit(OUInit.java:367)
    at com.inetpsa.ple.initialisation.OUInit.reinit(OUInit.java:424)
    at com.inetpsa.ple.initialisation.OUInit.init(OUInit.java:412)

但是该文件存在于该位置(但它位于 jar 内)。

获取文件路径的代码为:

String htmlEntFileName = OUInit.class.getClassLoader().getResource("data/config/HTMLEntities.res").getPath();

如果我遗漏了什么,请告诉我。

最佳答案

您正在使用FileInputStream,所以我假设您使用创建新FileInputStream的路径,但是一旦文件位于jar中,就无法将其作为文件访问不再了。

可以使用 Class.getResourceAsStream()Class.getResource().openStream() 作为 InputStream 访问该文件。

关于启动 Jboss 时出现 java.io.FileNotFoundException(文件名、目录名或卷标语法不正确),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46604728/

相关文章:

java - 目前,您会使用 JBoss 或 Glassfish(或其他)作为新项目的 Java EE 服务器吗?

mysql - 无法在 Java EE/JBoss 应用程序中连接到 MySQL

Java IO 无法读取 Java Applet 下的输入文件

java - 在文件读取期间强制 IOException

java - 如何在jar文件中使用类文件?

java - Spring Cloud 负载均衡器和 Ribbon 有什么区别?

java - 查找唯一值和重复值

java - 您可以将 .smali 转换为 .jar

jpa - 无法获取数据源。无法在 JBoss 5.1 中使用 JPA EntityManager (EclipseLink)

java - PushbackInputStream:推回缓冲区已满