【问题标题】:Set a dynamic value for glassfish-embedded-static-shell path为 glassfish-embedded-static-shell 路径设置动态值
【发布时间】:2013-11-15 22:51:18
【问题描述】:

在 Java EE 中,我使用的是:

<dependency>
        <groupId>org.glassfish.extras</groupId>
        <artifactId>glassfish-embedded-static-shell</artifactId>
        <version>3.1.1</version>
        <scope>system</scope>
        <systemPath>${glassfish.embedded-static-shell.jar}</systemPath>
    </dependency>

为了测试一个bean。 为此,我需要将 glassfish.embedded-static-shell.jar 位置指定为:

 <properties>
    <glassfish.embedded-static-shell.jar>/home/myUser/glassfish\lib\embedded\glassfish-embedded-static-shell.jar</glassfish.embedded-static-shell.jar>
</properties>

这是使属性 glassfish.embedded-static-shell.jar 动态的一种方法吗?我尝试使用 glassfish.embedded-static-shell.jar URL、环境变量和默认值并覆盖它的 maven 选项“-D”,但我无法使用动态值部署项目。

【问题讨论】:

    标签: maven dependency-injection dependencies java-ee-6 pom.xml


    【解决方案1】:

    参考documentation。假设您的系统具有环境变量“S1AS_HOME”,您可以执行以下操作:

    <systemPath>
        ${env.S1AS_HOME}/lib/embedded/glassfish-embedded-static-shell.jar
    </systemPath>
    

    我也很欣赏您使用已安装的 Glassfish 实例来运行 EJBContainer 的事实。我认为这是最好的做法,而不是“glassfish-embedded-all”工件,它有两个缺点:

    1. 缺少 domain.xml 中定义的配置
    2. 如果设置不正确,它可能会与已经运行的 Glassfish 实例的端口冲突。

    【讨论】:

    • 它成功了!在我使用 env var 之前,但我认为不同之处在于我现在在路径中使用了斜杠而不是反斜杠。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多