2012-09-17 47 views
1

我有3个罐子:jar1,jar2和jar3,在同一路径谁可以在其他PC改变(例如:C:\ PROVA)通过永久参数JAR文件

当我运行jar1,它的动作jar Sturtup文件夹中的jar2。

我希望那个jar2只需在每次启动Windows时激活jar3,但当然它并不会在第一个路径中找到jar3。

所以我想让jar1在移动它时或至少在第一次调用它时向jar2传递一个引用(在本例中为路径c:\ prova)。

我发现它difficoult,因为: 我无法在jar2中的文本文件中写入路径:jar中的文本文件是不可写的。

我不能写在Windows启动文件夹中的文本文件:它会在每次启动时胜开..

我无法通过的路径作为参数,这将是很好的第一但我无法将这个值存储到接连的调用中。

对不起,我的英语不好,谢谢你的帮助!

+0

jar1可以解压缩jar2,添加一个txt文件的路径和启动文件夹中的重新jar jar2。这是唯一的方法吗? – T30

+0

为什么不能在windows启动文件夹中创建一个指向jar3并完全摆脱jar2的Windows快捷方式'.lnk'文件?或者,也可以在Windows启动注册表中添加一个指向jar3的密钥? –

+0

你是同意的,但在我的情况下,jar2不在Windows启动时执行jar3,事实上他检查时间并在每个午夜执行jar3。 我不想把时间控制在jar3因为我想有时手动运行它.. – T30

回答

1

要jar2添加文件Path.txt(与jar3的路径):

Runtime.getRuntime().exec("jar uf jar2.jar Path.txt"); 

要阅读jar2文件(启动是我的类名):

 String s = "/Path.txt"; 
     is = Startup.class.getResourceAsStream(s); 
     br = new BufferedReader(new InputStreamReader(is)); 
     while (null != (line = br.readLine())) { 
      list.add(line); 
     } 

谢谢我!