Maven 为glassfish嵌入的静态外壳路径设置动态值

Maven 为glassfish嵌入的静态外壳路径设置动态值,maven,dependency-injection,dependencies,java-ee-6,pom.xml,Maven,Dependency Injection,Dependencies,Java Ee 6,Pom.xml,在Java EE中,我使用: <dependency> <groupId>org.glassfish.extras</groupId> <artifactId>glassfish-embedded-static-shell</artifactId> <version>3.1.1</version> <scope>system</sc

在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>

org.glassfish.extras
嵌有静电外壳的玻璃鱼
3.1.1
系统
${glassfish.embedded static shell.jar}
为了测试一个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>

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

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

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

${env.S1AS_HOME}/lib/embedded/glassfish-embedded-static-shell.jar
我还很欣赏您使用已安装的Glassfish实例来运行EJBContainer。我认为这是最好的做法,而不是“玻璃鱼嵌入所有”工件,这将有两个缺点:

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

  • 成功了!,之前我也使用了env变量,但我认为区别在于我现在在路径中使用了斜杠而不是反斜杠。