2015-01-02 21 views
1

(更新下面根据意见和答案)在Ubuntu上执行Java提供了乱码输出


我已经开发了在Windows上一些Java,我已经成功地执行它在该机器上。我第一次尝试在Ubuntu上执行它。我安装了OpenJDK-7-jre,并复制了jar和源代码。

的罐子:

(djauth_venv)~/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build$ ls -la dependency_jars/ 
-rw-rw-r-- 1 jeffy jeffy 185140 Jun 12 2012 commons-io-2.4.jar 
-rw-rw-r-- 1 jeffy jeffy 18863 Dec 11 12:53 templatefeather-0.1.1.2.jar 
-rw-rw-r-- 1 jeffy jeffy 665303 Dec 11 12:52 xbnjava-0.1.5.jar 

当试图与

java BuildPartFour -classpath /usr/lib/jvm/java-7-openjdk-i386/jre/lib/rt.jar;/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/commons-io-2.4.jar;/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar;/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar

这导致拒绝权限对每个罐子来执行它:

Exception in thread "main" java.lang.NoClassDefFoundError: com/github/xbn/io/PlainTextFileUtil 
     at BuildPartFour.main(BuildPartFour.java:14) 
Caused by: java.lang.ClassNotFoundException: com.github.xbn.io.PlainTextFileUtil 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
     ... 1 more 
-bash: /home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/commons-io-2.4.jar: Permission denied 
-bash: /home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: Permission denied 
-bash: /home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: Permission denied 

我已经将罐子更改为可执行

(djauth_venv)[email protected]:~/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build$ chmod 774 dependency_jars/*.jar 
(djauth_venv)[email protected]:~/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build$ ls -la dependency_jars/    total 864 
-rwxrwxr-- 1 jeffy jeffy 185140 Jun 12 2012 commons-io-2.4.jar 
-rwxrwxr-- 1 jeffy jeffy 18863 Dec 11 12:53 templatefeather-0.1.1.2.jar 
-rwxrwxr-- 1 jeffy jeffy 665303 Dec 11 12:52 xbnjava-0.1.5.jar 

但现在,尝试再次执行它时,我得到这个疯狂的输出:

Exception in thread "main" java.lang.NoClassDefFoundError: com/github/xbn/io/PlainTextFileUtil 
     at BuildPartFour.main(BuildPartFour.java:14) 
Caused by: java.lang.ClassNotFoundException: com.github.xbn.io.PlainTextFileUtil 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
     ... 1 more 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/commons-io-2.4.jar: line 1: $'PK\003\004': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/commons-io-2.4.jar: line 2: $'v\222\[email protected]': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/commons-io-2.4.jar: line 21: syntax error near unexpected token `)' 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/commons-io-2.4.jar: line 21: `▒Ғ▒^w▒ ▒▒W▒!▒▒ 
N▒ 
    g▒▒1^▒yKn▒K(▒"▒N▒▒▒ 
▒F/L*▒vTb6▒▒▒▒l4]▒▒▒hL▒F▒▒▒▒`▒l▒8m▒C▒▒▒▒▒▒▒u▒▒▒A▒*▒O▒▒▒▒6Jys▒▒C%▒▒݅Z▒ب▒&▒@▒▒▒9▒▒▒^▒"▒ID_▒▒▒▒$ +yr.,▒▒趒3▒a▒▒O▒▒▒eq▒▒e▒M▒5|▒Ȓ;▒▒▒=▒<])_▒pڔ▒▒▒D▒▒▒írU$▒E▒+' 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 1: $'PK\003\004': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 2: $'\b\245f\213E': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 3▒f▒E2▒f▒ZgMETA-K-*▒▒ϳR0▒3▒▒r▒Cq,HL▒HU▒%-▒Lx▒▒▒RKRSt▒*A▒▒▒ 
▒͍t▒ 
M4▒▒sR▒▒: No such file or directory 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 4: $'\362\213\022K\200\3725y\271x\271PK\003\004': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 5:{f▒Ecom/PK: No such file or directory 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 6: f▒E com/github/PK: No such file or directory 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 6: $'\b': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 7: f▒Ecom/github/aliteralmind/PK: No such file or directory 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 7: $'\b': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 8: syntax error near unexpected token `$'com/github/aliteralmind/templatefeather/PK\003\004'' 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/templatefeather-0.1.1.2.jar: line 8: |f▒E(com/github/aliteralmind/templatefeather/PK' 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 1: $'PK\003\004': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 2: $'\b\214f\213E': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 3▒f▒E2▒f▒ZgMETA-INF/MANIFEK-*▒▒ϳR0▒3▒▒r▒Cq,HL▒HU▒%-▒Lx▒▒▒RKRSt▒*A▒▒▒ 
▒͍t▒ 
M4▒▒sR▒▒: No such file or directory 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 4: $'\362\213\022K\200\3725y\271x\271PK\003\004': command not found 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 5:tf▒Ecom/PK: No such file or directory 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 6:tf▒E com/github/PK: No such file or directory 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 7:zf▒Ecom/github/xbn/PK: No such file or directory 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 8:tf▒Ecom/github/xbn/analyze/PK: No such file or directory 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 9: syntax error near unexpected token `$'ʭ\210\342A'' 
/home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar: line 9:tf▒E▒U▒M_-com/github/xbn/analyze/AbstractAnalyzer.class▒▒yS▒@Ɵ▒j!(ʭ▒▒A' 
(djauth_venv)[email protected]:~/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build$ PuTTY 

今天早些时候,我顺利地通过SFTP我的Windows机器上执行此操作。这是非常缓慢的,但它的工作原理。我需要做什么才能在Ubuntu中直接执行此操作?

谢谢。


更新基于意见,回答

谢谢@Alex和@ChrisStratton。再次使罐非可执行文件,并使用冒号后,我不再得到胡言乱语,但它仍然给我

Exception in thread "main" java.lang.NoClassDefFoundError: com/github/xbn/io/PlainTextFileUtil 
at BuildPartFour.main(BuildPartFour.java:14) 
Caused by: java.lang.ClassNotFoundException: com.github.xbn.io.PlainTextFileUtil`. 

这个类是确实在罐子:

$7z l /home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar 

7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,1 CPU) 

Listing archive: /home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar 


-- 
Path = /home/jeffy/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build/dependency_jars/xbnjava-0.1.5.jar 

Type = zip 
Physical Size = 665303 

    Date  Time Attr   Size Compressed Name 
------------------- ----- ------------ ------------ ------------------------ 
2014-12-11 12:52:24 D....   0   0 META-INF 
2014-12-11 12:52:22 .....   103   90 META-INF/MANIFEST.MF 
2014-12-11 12:51:40 D....   0   0 com 
2014-12-11 12:51:40 D....   0   0 com/github 
2014-12-11 12:51:52 D....   0   0 com/github/xbn 

... 

2014-12-11 12:51:40 .....   5523   2651 com/github/xbn/io/IOUtil.class 
2014-12-11 12:51:40 .....   2483   1098 com/github/xbn/io/MultiTextAppender.class 
2014-12-11 12:51:40 .....   2018   865 com/github/xbn/io/NewPrintWriterToFile.class 
2014-12-11 12:51:40 .....   2497   927 com/github/xbn/io/NewTextAppenderFor.class 
2014-12-11 12:51:40 .....   1687   685 com/github/xbn/io/NewTextAppenterFor.class 
2014-12-11 12:51:40 .....   5655   2311 com/github/xbn/io/PathMustBe.class 
2014-12-11 12:51:40 .....   2250   906 com/github/xbn/io/PlainTextFileUtil.class 
2014-12-11 12:51:40 .....   1656   871 com/github/xbn/io/PrintStreamForString.class 
2014-12-11 12:51:40 .....   458   292 com/github/xbn/io/RTAccessDeniedException.class 
2014-12-11 12:51:40 .....   450   288 com/github/xbn/io/RTEndOfFileException.class 
2014-12-11 12:51:40 .....   458   288 com/github/xbn/io/RTFileNotFoundException.class 

... 

------------------- ----- ------------ ------------ ------------------------ 
           1437122  545645 621 files, 49 folders 

上午什么我仍然失踪?

+2

你不执行'.jar' - Java只是需要访问,它看起来像是类文件已损坏 –

+2

是 - 分号导致unix shell将jar视为不同的命令。使用冒号。请参阅http://stackoverflow.com/questions/4528438/classpath-does-not-work-under-linux –

+0

可能重复的[Classpath不能在Linux下工作](http://stackoverflow.com/questions/4528438/classpath -does-not-work-under-linux) –

回答

5

的罐子不需要可执行

在Windows中,语义

java -classpath somejar1.jar;somejar2.jar 

但在* NIX,语义是

java -classpath somejar1.jar:somejar2.jar 

* NIX需要冒号(: )不是分号(;)。

UPDATE

它看起来像你的命令不正确的结构,你说你这样做:

java BuildPartFour -classpath (...) 

如果我假设BuildPartFour是当前工作.class文件目录。这将导致在运行您的BuildPartFour类传递-classpath (...)作为参数传递给你的程序(这些将是可见的public static void main(String[] args) args数组中

它应该是这样的:

java -classpath (...) BuildPartFour 

一般java命令结构是:

java [options] [class] [args] 
+0

我已更新该问题。这使我进一步迈出了重要的一步。 – aliteralmind

+0

是的,这个。目前'-classpath'作为参数传递给应用程序,而不是** JVM。 –

+0

就是这样。我忘记了基础知识。实际上,有必要添加一个“。”到类路径中,以便找到要执行的类本身。 – aliteralmind