无法在WildFly REST应用程序中找到文件

时间:2018-05-21 09:55:11

标签: java rest path jax-rs wildfly

@Path("/other")
public class Testclass {
   @GET
   @Path("/filepath")
   @Produces("text/html")
   public FileInputStream login() {
       File file = new File("standalone/deployments/domaci8.war/login.html");
       try {
           return new FileInputStream(file.getAbsolutePath());
       } catch (FileNotFoundException e) {
           e.printStackTrace();
           return null;
       }
   }
}

file.getAbsolutePath()方法返回:

C:\Program Files (x86)\wildfly-10.1.0\bin\standalone\deployments\domaci8.war\login.html

login.html文件位于此处:

C:\Program Files (x86)\wildfly-10.1.0\standalone\deployments\domaci8.war\login.html

1 个答案:

答案 0 :(得分:2)

File file = new File("standalone/deployments/domaci8.war/login.html");只是创建一个File对象,该文件的路径是相对于启动JVM进程的文件夹。

由于您使用C:\Program Files (x86)\wildfly-10.1.0\binstandalone.bat启动了WildFly服务器,这就是file.getAbsolutePath()返回C:\Program Files (x86)\wildfly-10.1.0\bin\standalone\deployments\domaci8.war\login.html的原因

如果login.html与其他服务位于同一应用程序中,请选中https://stackoverflow.com/a/1768290/916225此答案。