使用maven 2.x设置环境变量

发布于 2024-09-14 19:37:33 字数 200 浏览 11 评论 0原文

是否可以使用maven设置环境变量(操作系统:Linux)?

我已经有用户定义的属性(在pom和profiles.xml中)......我的问题是,如何从Maven执行以下操作

export GGA_FRE=/path

因此,每个开发人员都可以为GGA_FRE设置自己的路径

Is it possible to set environment variable with maven (OS: Linux)?

I already have user-defined properties (in the pom and in profiles.xml)....my problem is, how to execute following from Maven

export GGA_FRE=/path

So will be possible, that every developer can set his own path for the GGA_FRE.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怪我鬧 2024-09-21 19:37:33

这个答案不正确,至少不完全正确(见评论)。
不幸的是我无法删除它,因为它已被接受。您的里程可能会有所不同。


使用 exec:exec 魔力。

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.1</version>
    <executions>
      <execution>
        <id>exportVar</id>
        <phase>initialize</phase>
        <goals>
          <goal>exec</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <executable>export</executable>
      <arguments>
        <argument>GGA_FRE=${my.path}</argument>
      </arguments>
    </configuration>
  </plugin>

现在这样称呼它 mvn install -Dmy.path=/var/users/groucho

This answer is not correct, at least not completely (see comments).
Unfortunately I can't delete it as it has been accepted. Your milage may vary.


Use the exec:exec mojo.

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.1</version>
    <executions>
      <execution>
        <id>exportVar</id>
        <phase>initialize</phase>
        <goals>
          <goal>exec</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <executable>export</executable>
      <arguments>
        <argument>GGA_FRE=${my.path}</argument>
      </arguments>
    </configuration>
  </plugin>

now call it like this mvn install -Dmy.path=/var/users/groucho

枯叶蝶 2024-09-21 19:37:33

我认为没有一种 Java 方法可以像导出命令那样设置环境变量(以便它可以在 Java 之外使用)。 (例如,请参阅以下问题:如何从 Java 设置环境变量?

但是,您可能会想办法破解:例如使用 maven-exec 插件运行 shell 脚本,然后在脚本中设置变量。您可以将参数传递给脚本来指定变量值。
(请注意,我还没有测试过这个)

I don't think there is a Java way to set environment variable the way export command does (so that it is avaliable outside of Java). (see for example this question: How do I set environment variables from Java?)

However, you might hack you way around: for example use maven-exec plugin to run a shell script and then set the variable in the script. You might pass a parameter to your script to specify the variable value.
(note that I have not tested this)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文