gpt4 book ai didi

java - 在 Tomcat 中部署 WAR 文件(路径)

转载 作者:行者123 更新时间:2023-11-28 23:12:42 28 4
gpt4 key购买 nike

我正在 Tomcat 中为我开发的 Web 应用程序部署一个 WAR 文件(这是我第一次这样做)。当我部署应用程序并且找不到资源时,问题就来了。

我正在将文件(例如 CSV 文件)保存在这个项目的错误中:

"src/main/resources/diseases.csv"

当我在 tomcat 中部署项目时,tomcat 给我这个错误:

"org.apache.spark.sql.AnalysisException: Path does not exist: file:/opt/tomcat/apache-tomcat-9.0.16/bin/src/main/resources/conenfermedad.csv;"

这是我遇到错误的代码行:

String dataPred = thalg.randtrp("src/main/resources/conenfermedad.csv",             
"src/main/resources/outWekaEnfermedad.arff");

编辑:我一直在尝试不同的解决方案,但我遇到了同样的问题,因为如果我使用 InputStream,我如何才能获得使用 dataFrameReader 的路径(这仅将路径用作字符串)?

InputStream is = getClass().getResourceAsStream(In);

BufferedReader reader = new BufferedReader(new InputStreamReader(is));

//InputStream is = getClass().getResourceAsStream(In);

final DataFrameReader dataFrameReader = sparkSession.read().option("header", true);
final Dataset<Row> trainingData = dataFrameReader.csv(In).toDF("IDPatient", "ECG_EKG", "Temp",
"SPO2Min", "SPO2Max", "BPMmin", "BPMmax", "BPMavg", "SYS", "DIA", "EDAmin", "EDAmax", "EDAavg", "Disease");
// con "*.csv" para que lea todo el directorio

我应该做错什么?

提前致谢:)

最佳答案

确保您的 CSV 文件包含在您的 WAR 文件中。由于 WAR 文件在技术上只是一个 ZIP 文件,您可以使用任何 ZIP 程序来检查它。

如果您使用的是 Maven,则需要显式包含它:

<build>
...
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<includes>
<include>diseases.csv</include>
</includes>
</resource>
</resources>
...
</build>
如果不需要任何占位符替换,

Filtering 可以设置为 false(或忽略)。在 include 标签中你也可以使用 wildcards .

然后您可以像这样使用 csv 文件:

new InputStreamReader(getClass().getResourceAsStream("/diseases.csv"), StandardCharsets.UTF_8.name())

关于java - 在 Tomcat 中部署 WAR 文件(路径),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55277016/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com