5

我有一个.jar包含多个public static void main(像这样的东西:psvmdocker run ... -e <class.path.from.env>

  <plugin>
    <groupId>io.fabric8</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <configuration>
      <images>
        <image>
          <name>${project.artifactId}</name>
          <build>
            <from>java:8-jre</from>
            <tags>
              <tag>${build.environment}-latest</tag>
              <tag>${build.environment}-${build.number}</tag>
            </tags>
            <entryPoint>
              <exec>
                <arg>java</arg>
                <arg>-Duser.timezone=UTC</arg>
                <arg>-cp</arg>
                <arg>/opt/${project.artifactId}-${project.version}.jar</arg>
                <arg>${class.path.from.env}</arg>
              </exec>
            </entryPoint>
            <assembly>
              <basedir>/opt</basedir>
              <inline>
                <files>
                  <file>
                    <source>target/${project.artifactId}-${project.version}.jar</source>
                  </file>
                </files>
              </inline>
            </assembly>
          </build>
        </image>
      </images>
    </configuration>
  </plugin>

尽管我阅读了 的整个文档docker-maven-plugin,但我不确定如何完成这项工作。基本上我在哪里声明环境变量class.path.from.env,我怎样才能确保它得到我通过的-e那个docker run ...

4

1 回答 1

2

我认为您需要在<run>您的部分旁边声明一个部分<build>,并将您的 env 变量添加到<env>,如下所述:https ://dmp.fabric8.io/#misc-env

<run>
  <env>
    <CATALINA_OPTS>-Xmx32m</CATALINA_OPTS>
    <JOLOKIA_OFF/>
  </env>
于 2019-08-14T05:33:19.217 回答