在Ubuntu上执行Java会产生乱码输出

ali*_*ind 1 java ubuntu jar

(根据评论和答案在下面更新)


我在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
Run Code Online (Sandbox Code Playgroud)

尝试执行时

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
Run Code Online (Sandbox Code Playgroud)

我把罐子改成可执行的

(djauth_venv)jeffy@originaldjangster:~/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build$ chmod 774 dependency_jars/*.jar
(djauth_venv)jeffy@originaldjangster:~/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
Run Code Online (Sandbox Code Playgroud)

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

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\314@': 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)jeffy@originaldjangster:~/django_files/django_auth_lifecycle/non_django_files/wordpress_posts/build$ PuTTY
Run Code Online (Sandbox Code Playgroud)

今天早些时候,我在Windows机器上通过SFTP成功执行了此操作.它非常缓慢,但它确实有效.在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`. 
Run Code Online (Sandbox Code Playgroud)

这个类确实在jar中:

$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
Run Code Online (Sandbox Code Playgroud)

我还缺少什么?

Ale*_*lex 5

罐子不需要是可执行的

在Windows上,语义是

java -classpath somejar1.jar;somejar2.jar
Run Code Online (Sandbox Code Playgroud)

但是在*NIX上,语义是

java -classpath somejar1.jar:somejar2.jar
Run Code Online (Sandbox Code Playgroud)

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

UPDATE

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

java BuildPartFour -classpath (...)
Run Code Online (Sandbox Code Playgroud)

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

它应该是这样的:

java -classpath (...) BuildPartFour
Run Code Online (Sandbox Code Playgroud)

一般的java命令结构是:

java [options] [class] [args]
Run Code Online (Sandbox Code Playgroud)