我有一个java maven 项目,其中库jar依赖于配置的环境变量,所以为了在eclipse中运行它我在maven run build的环境选项卡中创建了这个变量(见截图)。现在我必须将这个swing应用程序打包并导出到可执行jar,并让用户进行测试。如何在jar中传递此环境变量以在运行时可用。我认为应该有一些可能性在pom文件或一些属性文件中配置它。
答案 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中硬编码,那么获取它会更难(但很可能)。
如果你将它保留在代码中,它将使好人更容易保持良好状态。