2017-09-07 3 views
0

NAS(Linux Debian)上でmysql + java + play!フレームワークを使用してアプリケーションを完成させましたが、ほとんどの場合動作しますが、このエラー:LinuxでNAS上でアプリをmoovingするときにエラーが発生するDebian

net.sf.jasperreports.engine.JRException:java.io.FileNotFoundException:アプリの\ FRの\ブティック\ウェブ\は\ reparationReport.jrxml(そのようなファイルまたはディレクトリ)

を(すべてが報告しますアプリケーションがWindowsとローカルにインストールされているときにうまく動作する)

ファイルの一部Generator.java:

public static InputStream generateReparation(long id) { 

    // - Paramètres de connexion à la base de données 
    String url = "jdbc:mysql://127.0.0.1:3306/bddbc"; 
    String login = "root"; 
    String password = "root"; 
    Connection connection = null; 

    try { 
     OutputStream os = new ByteArrayOutputStream(); 

     // - Connexion à la base 
     Driver monDriver = new com.mysql.jdbc.Driver(); 
     DriverManager.registerDriver(monDriver); 
     connection = DriverManager.getConnection(url, login, password); 

     // - Chargement et compilation du rapport 
     JasperDesign jasperDesign = JRXmlLoader.load("app\\fr\\boutique\\web\\reports\\reparationReport.jrxml"); 
     JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); 

     // - Paramètres à envoyer au rapport 
     Map parameters = new HashMap(); 
     parameters.put("CURRENT_PATH", "app\\fr\\boutique\\web\\reports"); 
     parameters.put("idReparation", id); 

     System.out.println("Id = " + id); 

     // - Execution du rapport 
     JasperPrint jrprint = JasperFillManager.fillReport(jasperReport, parameters, connection); 

     // - Création du rapport au format PDF 
     JasperExportManager.exportReportToPdfStream(jrprint, os); 
     return new ByteArrayInputStream(((ByteArrayOutputStream) os).toByteArray()); 

    } catch (JRException e) { 

     e.printStackTrace(); 
    } catch (SQLException e) { 

     e.printStackTrace(); 
    } finally { 
     try { 
      connection.close(); 
      } catch (SQLException e) { 

        e.printStackTrace(); 
      } 
    } 
    return null; 
} 

答えて

0

あなたのパスに間違ったディレクトリ区切りを使用しています。 Linuxではディレクトリを区切るためにスラッシュ(/)を使用しますが、バックスラッシュ(\)は使用しません。

関連する問題