首页 > 解决方案 > 为什么在 maven jetty 插件中设置环境变量不起作用?

问题描述

我想在eclipse中使用maven jetty插件运行我的java web应用程序,我的应用程序需要一个os环境变量COMDIR才能运行,我在这里看到,jetty 9.3.x已经支持在pom配置中设置环境变量,但是我的配置不起作用,我错过了什么?

<plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>9.4.11.v20180605</version>
    <dependencies>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
    </dependencies>
    <configuration>
        <!-- <war>${project.build.directory}/cwe-0.0.1-SNAPSHOT.war</war> -->
        <webAppSourceDirectory>${project.basedir}/WebContent</webAppSourceDirectory>
        <webAppConfig>
            <jettyEnvXml>${project.basedir}/profiles/1-dev/WebContent/WEB-INF/etc/jetty.env.xml</jettyEnvXml>
            <contextPath>/FDI</contextPath>
            <allowDuplicateFragmentNames>true</allowDuplicateFragmentNames>
            <descriptor>${project.basedir}/WebContent/WEB-INF/web.xml</descriptor>
        </webAppConfig>
        <dumpOnStart>true</dumpOnStart>
        <env>
            <COMDIR>/home/ggfan/1-install/comdir</COMDIR>
        </env>
        <systemProperties>
            <systemProperty>
                <name>APP_RUNTIME</name>
                <value>${project.basedir}/runtime</value>
            </systemProperty>
            <systemProperty>
                <name>COMDIR</name>
                <value>/home/ggfan/1-install/comdir</value>
            </systemProperty>
        </systemProperties>
    </configuration>
</plugin>

标签: mavenjetty

解决方案


它确实有效,但仅适用于分叉的 JVM。

换句话说,只有jetty:run-forked目标才能与<env>设置一起使用。


推荐阅读