启动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(文件名,目录名或卷标语法不正确)
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();
如果我遗漏了任何东西,请告诉我。
答案 0 :(得分:0)
您正在使用FileInputStream
所以我假设您使用了创建新FileInputStream
的路径,但是一旦该文件位于jar中,它就不能再作为文件进行访问。
使用InputStream
或Class.getResourceAsStream()
可以Class.getResource().openStream()
访问该文件。