Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何动态构建JAR文件_Java_Persistence - Fatal编程技术网

Java 如何动态构建JAR文件

Java 如何动态构建JAR文件,java,persistence,Java,Persistence,我正在制作一个程序,需要能够让客户端更改设置,并使用我所称的构建器创建一个.jar,用它们的设置替换类中的一些常量 换句话说,我有一个GUI,它有几个文本字段,因此当它们按下标记为Build的JButton时,它会在一个常量类中创建一个新的可运行Jar,该类的设置会随着文本字段中的内容而改变 这可能吗?我听说过ANT脚本,但我不确定这是否是我在这里寻找的 谢谢您考虑过使用.properties文件或类似文件吗?您可以使用ant脚本来描述签出,您可以在build.xml中使用此任务来动态更改.ja

我正在制作一个程序,需要能够让客户端更改设置,并使用我所称的构建器创建一个.jar,用它们的设置替换类中的一些常量

换句话说,我有一个GUI,它有几个文本字段,因此当它们按下标记为Build的JButton时,它会在一个常量类中创建一个新的可运行Jar,该类的设置会随着文本字段中的内容而改变

这可能吗?我听说过ANT脚本,但我不确定这是否是我在这里寻找的


谢谢

您考虑过使用.properties文件或类似文件吗?您可以使用ant脚本来描述签出,您可以在build.xml中使用此任务来动态更改.java文件,但这似乎有点笨拙,但可能不是最佳解决方案

检查此页面:其中包含有关保存到属性文件或从属性文件加载的详细信息。您可以设置constants类以从该文件加载其状态变量,并设置Build JButton以创建该属性文件


我正在考虑一个用例,您可能希望修改类源本身,而不是使用属性文件,但老实说,我不能。因此,我想您可能会遇到一些特殊情况,这对您来说不是一个站得住脚的解决方案,但99%的情况下,我建议您这样做。

您是否考虑过使用.properties文件或类似文件?您可以使用ant脚本来描述签出,您可以在build.xml中使用此任务来动态更改.java文件,但这似乎有点笨拙,但可能不是最佳解决方案

检查此页面:其中包含有关保存到属性文件或从属性文件加载的详细信息。您可以设置constants类以从该文件加载其状态变量,并设置Build JButton以创建该属性文件


我正在考虑一个用例,您可能希望修改类源本身,而不是使用属性文件,但老实说,我不能。因此,我想您可能会遇到一些特殊情况,这对您来说不是一个站得住脚的解决方案,但99%的情况下,我会建议您这样做。

检查,在那里您可以找到创建罐子所需的所有信息programmatically@h3nr1x谢谢你,但是,在类创建jar之前,我该如何更改它呢?下面的链接可能会帮助您用它们的设置替换类中的一些常量。不是很“恒定”,是吗;我觉得更好的方法是将值写入一个属性文件,该文件位于两个应用程序都可以访问的位置。以及最终用户。这将是一个类似${user.home}/settings/com/our/app/properties.propCheck的路径,在那里您可以找到创建jar所需的所有信息programmatically@h3nr1x谢谢你,但是,在类创建jar之前,我该如何更改它呢?下面的链接可能会帮助您用它们的设置替换类中的一些常量。不是很“恒定”,是吗;我觉得更好的方法是将值写入一个属性文件,该文件位于两个应用程序都可以访问的位置。以及最终用户。这将是一个类似${user.home}/settings/com/our/app/properties.properties的路径,我想我可以使用h3nr1x的链接将它存储在JAR中,然后像这样使用它。谢谢:没有。See-jar通常是“只读”的。除非你指的是一个全新的Jar。@AndrewThompson我指的是创建属性文件并将其存储在Jar中。属性文件不会更改,只是从中读取。所以从你贴的问题来看,我似乎可以做到这一点,对吗?谢谢。就在这个基础上,我觉得你正在构建的想法是人们使用你的GUI输出一个jar,他们可以把它放在一个可移动的磁盘或电子邮件上,然后使用它。这与案件接近吗?如果是这样的话,那么一个全新的jar可能就是解决方案,也就是说,你有gui应用程序以及你制作的其他一些应用程序,gui用用户选择的设置创建一个jar,他们带着它蹒跚地走到他们的工作站,再也不修改设置。如果想法是允许用户使用该应用程序更改某个应用程序的设置…那么用户主页中的属性文件就是Goan的方法,我想我可以使用h3nr1x的链接将其存储在JAR中,然后像那样使用它。谢谢:没有。See-jar通常是“只读”的。除非你指的是一个全新的Jar。@AndrewThompson我指的是创建属性文件并将其存储在Jar中。属性文件不会更改,只是从中读取。所以从你贴的问题来看,我似乎可以做到这一点,对吗?谢谢。就在这个基础上,我觉得你正在构建的想法是人们使用你的GUI输出一个jar,他们可以把它放在一个可移动的磁盘或电子邮件上
给自己,然后用。这与案件接近吗?如果是这样的话,那么一个全新的jar可能就是解决方案,也就是说,你有gui应用程序以及你制作的其他一些应用程序,gui用用户选择的设置创建一个jar,他们带着它蹒跚地走到他们的工作站,再也不修改设置。如果想法是允许用户使用该应用程序更改某个应用程序的设置…那么用户主页中的属性文件就是最好的选择