(根据评论和答案在下面更新)
我在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)
我还缺少什么?
罐子不需要是可执行的
在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)