2016-04-26 46 views
0

因为我是新来的java和stackoverflow。从服务器的共享文件夹运行jar,并且该jar需要从服务器读取一个文件

问题: 我有一个jar从它的机器(服务器A)的环境变量中读取一个文件。 如果我远程服务器A并运行这个罐子,文件阅读是好的。 但我需要把这个罐子,并在共享文件夹中执行它一个批处理文件,以便能够无需与“Java的罐子”访问远程服务器A.

对于批处理文件中的共享文件夹%〜DP0 MYJAR.jar”在罐子的批处理文件名前面加 %〜DP0让我打电话给那个罐子的共享文件夹中。[来源以下链接]

Can I run a jar file from shared folder of remote system just by double clicking from my system?

但在运行时,罐子,jar无法找到它在服务器A中读取的文件。以下是读取该文件的代码。

Properties prop2 = new Properties(); 
String propFile=System.getenv("OTHERS_HOME") + "\\conf\\FILE_TO_READ.txt"; 

当jar在运行时打印当前目录。 当远程访问服务器A时,我得到了E:\ ISO_Tester。这是正确的道路。

但是从服务器A的共享文件夹在我的机器上运行时,我得到C:\ WINDOWS我认为这是从我的本地机器上,而不是服务器A.

+0

什么是'从它的机器的环境变量读取的jar'? '我远程服务器A'是什么意思? – EJP

+0

Jar位于服务器A中,正在从服务器A读取文件(上面的代码)。我的意思是远程访问(远程桌面连接)到服务器A,而不是通过共享文件夹访问jar。 –

回答

0

最好的部分是,你应该是从服务器A共享JAR文件和所需文件,并针对文件的相对路径写入/执行代码

这是因为该批处理不会访问服务器A的属性,而是将任何可用的正在执行的机器

如果您想了解更多信息,请参阅此链接 Get remote env vars using Windows Powershell

相关问题