java - java web 服务的数据文件的放置

标签 java netbeans maven

我正在 Java 上编写一个简单的 Web 服务,它应该读取 xml 文件并生成结果字符串。然而,我不知道:

a) xml 文件应该放置在文件系统中的什么位置,以便 Web 服务可以访问它?

b) 从服务到文件的相对方式是什么

c) 或者,我如何将 xml 文件添加到项目中,以便它与 Web 服务一起部署

我使用 NetBeans 作为 IDE,使用 maven 作为构建系统。

最佳答案

通常我会在我的 Web 应用程序中提供资源包 (.jar)。如果文件不应在运行时修改,这应该是访问它的最佳方式。这将是你问题中的c)。您可以通过以下方式访问该文件:

ClassLoader cl = this.getClass().getClassLoader();
InputStream is = cl.getResourceAsStream("resourceName");

"resourceName" 将是 jar 文件内的路径。如果您使用 Maven 进行打包,则 src/main/webapp/WEB-INF/classes 中的所有内容都将在您的类路径中可用,并且可以使用 getResourceAsStream 加载。

<小时/>

使用 maven 的另一种方法是创建一个新模块并将所有必需的资源放入 src/main/resources 中,然后在您的 webapp pom 中添加对此 Artifact 的依赖项。

关于java - java web 服务的数据文件的放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6238162/

相关文章:

java - 如何从应用程序客户端连接远程 EJB 模块

java - 如何从枚举到字节数组并再次返回?

java - 使用 Stream 加载和处理文件

java - 结果集显示 jTable 的前 12 行为空 - Java

file - NetBeans 7.0 使用 'Download' 命令从服务器随机删除文件

maven - 如何让 Maven 为同一个项目生成两个 jar?

java - 无法添加或更新子行: a foreign key constraint fails - One-To-Many relationship - Hibernate

java - 如何解决 netbeans 中的库引用问题? java

java - Maven:在部署步骤之前设置版本会导致缺少 Artifact

java - 无法使用Gradle输出jar文件