Java编程等效于maven运行中配置的环境值

时间:2017-01-04 06:31:01

标签: java maven environment-variables

我有一个java maven 项目,其中库jar依赖于配置的环境变量,所以为了在eclipse中运行它我在maven run build的环境选项卡中创建了这个变量(见截图)。现在我必须将这个swing应用程序打包并导出到可执行jar,并让用户进行测试。如何在jar中传递此环境变量以在运行时可用。我认为应该有一些可能性在pom文件或一些属性文件中配置它。

enter image description here

3 个答案:

答案 0 :(得分:1)

您可以将项目打包到jar并提供启动程序的脚本。

脚本中的主要条目是:

java -Xmx512M -cp "your jars" "Main method's Class"

答案 1 :(得分:0)

你可以这样做: -

 <property>
          <jvm.options>-Xmx512M</jvm.options>
    </property>
    <plugins>
    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-compiler-plugin</artifactId>
       <version>3.3</version>
       <compilerArgs>
            <arg>${jvm.options}</arg>
       </compilerArgs>
    </plugin>
</plugins>

答案 2 :(得分:0)

您可以使用@rex建议的-DDGOOLE_API_KEY = XXXX或执行:

System.setProperty("GOOLE_API_KEY","XXXX");

在您的代码中。在库读取之前,您必须确保加载。最好,作为一个非常早熟的类中的静态块。

public class {

  static {
    System.setProperty("GOOLE_API_KEY","XXXX");
  }

}

如果您将使用命令行-D选项,则必须以明文形式将其提供给客户,这样他们就可以轻松使用...

意味着每个运行软件的人都会知道你的api密钥。如果你要在jar中硬编码,那么获取它会更难(但很可能)。

如果你将它保留在代码中,它将使好人更容易保持良好状态。