gpt4 book ai didi

Java - 如何从 Java 类引用资源文件

转载 作者:行者123 更新时间:2023-12-01 05:00:09 24 4
gpt4 key购买 nike

我想在 Java 测试类中引用一个资源文件,它是一个 keystore 文件。此属性通常从指向本地或远程运行的 JDK 的属性文件加载。

当 Maven 在部署过程中执行构建时,它首先在构建服务器上构建。我希望能够将 keystore 文件放在类路径上,这样我就不必对构建服务器产生硬依赖(这样我就可以将 keystore 放在构建服务器上)

当我在本地连接单元测试时,它可以正常使用此配置,但是当我在构建服务器上执行构建时,此路径失败。谁能解释一下为什么会失败?我能做些什么来解决?我想我知道原因,但澄清一下就太好了。

当前配置

<bean id="httpClient"
class="myapp.HTTPClient">
<property name="trustStoreLocation" value="..\\mywebapp\\target\\test-classes\\truststore" />
<property name="trustStorePass" value="mypass" />
</bean>

最佳答案

对于资源文件,我更喜欢遵循 ​​Maven 的标准目录结构。请阅读(http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html)以获取更多引用。将诸如(.cfg 或 .jks 或 .properties)之类的文件放置在 src/test/resources 和 src/main/resources 中会自动在构建时在类路径中可用。此外,它使您能够隔离测试和主要资源文件。

例如,我的 pom.xml 如下所示:

<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/config</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/main/config</directory>
</testResource>
<testResource>
<directory>src/main/resources</directory>
</testResource>
</testResources>

<!-- Other pom.xml stuff -->

</build>

现在,验证文件是否已正确复制的一个简单方法是将 jar 制成表格并检查所需的文件。

mvn build

然后执行:

jar -tf target/<your project jar>.jar | grep "<file name you want to verify>"

关于Java - 如何从 Java 类引用资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13494382/

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