java - 本地运行时的 Appassembler `run.as.user.envvar`

标签 java appassembler

我正在使用 appassembler 插件成功生成我的应用程序结构。因为我的应用程序是从 init.d 脚本启动的,所以我修改了配置,以便应用程序在 serveruser 而不是 root 下运行:

<generatorConfigurations>                         
    <generatorConfiguration>                                               
            <property>                            
                <name>run.as.user.envvar</name>   
                <value>serveruser</value> <-- Here the user is set -->         
            </property>                           
        </configuration>                          
    </generatorConfiguration>                     
</generatorConfigurations>

这在部署到服务器时工作正常,但我希望能够在运行 mvn clean package 后在本地运行应用程序。在这种情况下,它会尝试 su (切换用户)到我的本地计算机上不存在的 serveruser 。对此有什么最佳实践吗?

最终目标是能够:

  1. 本地构建并通过生成的脚本运行
  2. 打包相同的生成项目结构,部署它并从那里运行

最佳答案

我当前的解决方案是提供Maven配置文件。如果设置了 local 配置文件,则该属性为空,并且未设置 run.as.user.envar,因此启动脚本会在当前用户下启动。

如果未设置配置文件,则会设置默认配置文件,这会设置生产用户,因此无法在本地启动它,但您可以在服务器上启动。

虽然不是 100% 但有效。

关于java - 本地运行时的 Appassembler `run.as.user.envvar`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34856125/

相关文章:

java - 是否有可能从 servlet 返回多个值给客户端?

maven-2 - 如果调用迭代,maven appassembler 插件不包含当前工件

configuration - 如何在Maven Appassembler中包含配置文件?

java - 在maven appsembler程序脚本中设置java cmd

java - `NullPointerException` 由于 Autowiring 失败

java - YUV_420_888 到 RGB 转换

java - Spring 和 MongoDB 异步 Java 驱动程序 - clusterListener 不能为 null

java - Byte Buddy Advice 破坏了 Eclipse 调试器

java - Maven AppAssembler 找不到类