1

我正在使用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. 打包相同的生成项目结构部署它并从那里运行
4

1 回答 1

1

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

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

不是 100% 但有效。

于 2016-01-19T15:05:45.680 回答