java - 如何将属性文件和 JAR 打包到 EAR 中?

标签 java jakarta-ee ear properties-file

我创建了一个 Java 应用程序,它访问 Web 服务、获取数据并更新属性文件一次,以便执行其所有操作(该应用程序在此调用后不会访问 Web 服务,并将其保留在属性文件代替)。计划这个应用程序必须部署在Websphere应用程序服务器(WAS)中,所以我想将JAR文件和属性文件放在EAR文件中,假设部署时,JAR和属性文件将被在服务器中的同一路径内。

有什么方法可以打包 EAR,以便将 JAR 和属性文件放在一起吗?

最佳答案

这是可以实现的,我在这里没有看到任何问题。执行如下操作:

properties文件打包到jar中,然后将jar捆绑到ear中。

使用 ant,您可以使用以下命令构建 jar:

<target name="jarx.jar">
    <jar destfile="${dist.dir}/jarx.jar">
        <fileset dir="${classes.dir}">
            <include name="**/*.*"/>
        </fileset>
    </jar>
</target>

稍后如何访问属性文件?

如果您想稍后从任何类 ClassX 访问属性文件,您可以简单地编写

InputStream is = ClassX.getResourceAsStream('/abc.properties');

编辑:

问题的第二部分已经得到解答here 。但我不建议这样做,因为如果没有服务器启动,更改可能不会立即反射(reflect)或加载。在这一点上不确定。

另外,您需要评估如果 jar 是密封的怎么办?

关于java - 如何将属性文件和 JAR 打包到 EAR 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21760180/

相关文章:

java - 如何在耳朵中为EJB定义自己的JNDI名称

java - 将excel读入java - 如何简化

Java EE 7 CDI 手动实例化

war - 是否有 "right way"在 Gradle 中创建瘦 war 和耳朵文件

netbeans - Java:强制转换为自身时的异常(?)

java - 技术范围 - 从哪里开始以及如何开始?

war - 如何在应用服务器上安装 FitNesse 作为 war/ear

java - Java语言规范的澄清

java - 关系表 delete-cascade 在 4 种情况下,但 Entity-config 只允许 2

Java Webapp 执行器类