我有一个jar文件, 可以在很多机器上运行。 然而,我们只是要求一个新的Unix用户来安装它,它不是performance一样…不知道是否可以是任何有关env的东西。 变种。
基本的想法是:
WorkingUser@box$ java -jar install.jar -h [output help instructions]
但是之后
NewUser@box$ java -jar install.jar -h The java class is not found: pkg1.pkg2.pkg3.Loader
在任何人问之前,没有类path需要,是的,jar子的cksum是好的。 事实上:
$ jar tf install.jar META-INF/ META-INF/MANIFEST.MF pkg1/ pkg1/pkg2/ pkg1/pkg2/pkg3/ pkg1/pkg2/pkg3/script/ pkg1/pkg2/pkg3/Loader.class pkg1/pkg2/pkg3/LoaderHelper.class package.jar
你可以认为MANIFEST.MF是好的,因为它可以在其他用户中使用。
我已经尝试执行与-cp install.jar没有成功。 此外, $CLASSPATH工作和不工作的用户只包含“ . ”。
[编辑]
我似乎已经发现这个新用户更怪异的东西。 还有其他的东西没有工作,这可能表明用户创build有问题。 不幸的是,我不知道AIX中的很多用户pipe理,所以我希望你们能帮我弄清楚这些线索。
我刚刚发现简单的tar不能创build到这个用户的家中。
NewUser@box$ echo "thisisatest" > testfile.txt NewUser@box$ tar cf testfile.txt.tar testfile.txt tar: The getwd subroutine failed. Cannot open the parent directory. NewUser@box$ ls -l testfile* -rw-r----- 1 user group 12 Feb 08 14:15 testfile.txt -rw-r----- 1 user group 0 Feb 08 14:15 testfile.txt.tar
(注意testfile.txt.tar如何有0个字节?)
不用说,所有这些命令都适用于其他用户。
除此之外,其实还有另一个小症状就是与scp , WinSpc连接。
首先,连接不会产生以下错误: 
为了纠正这个错误,我只需要在WinScp的configuration(这显然定义了用户home的remote path中configurationremote path ,它将正常工作。
我在其他服务器上使用WinScp,没有任何configuration,它工作得很好 – 我首先忽略了这个错误,但现在看起来更相关。
请注意, /etc/passwd具有该用户的所有正确参数。 这可能是一些更好的configuration…
此外,主文件夹具有所有正确的权限 – 我不知道如何“粘滞位”与它有关,但..以及..
提前致谢!
谢谢,
F。
尝试将文件复制到/ tmp或/ var / tmp并从那里运行安装。 它会进一步/成功吗?
[编辑]
这很接近实际的问题。 我结束了做了一个类似的testing工作,并通过一些testing,导致我发现安装点权限是错误的,即用户的fs所在的文件夹属于根,并有权访问774 ( 其他人不执行)。
我总是发现,低级别的错误权限是如何在高层产生最不利的影响的。 我有(而且我还不太确定),挂载点的权限已经影响到挂载的FS …
无论如何,我们给了exec权限和voilá ,java发现它是类。 这整个安装有更多的问题,但这些可能会去其他问题:)
谢谢大家。