Выполнение Java в Ubuntu дает бессмысленный вывод

1

(Обновление ниже на основе комментариев и ответов)


Я разработал Java на Windows, и я успешно выполнил его на этой машине. Впервые я пытаюсь выполнить его на Ubuntu. Я установил OpenJDK-7-jre и скопировал банки и исходный код.

Банки:

(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

Я изменил jars, чтобы быть выполнимым

(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

Но теперь, когда вы пытаетесь выполнить его снова, я получаю этот сумасшедший вывод:

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

Ранее сегодня я успешно выполнил это через 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 видеть банки как отдельные команды. На Linux используйте двоеточие. См. Stackoverflow.com/questions/4528438/…
Показать ещё 3 комментария
Теги:
jar

1 ответ

5
Лучший ответ

Банки не должны быть исполняемыми

В Windows семантика

java -classpath somejar1.jar;somejar2.jar

Но на * NIX семантика

java -classpath somejar1.jar:somejar2.jar

* NIX нуждается колоны (:) не с запятой (;).

ОБНОВИТЬ

Похоже, что ваша команда неправильно структурирована, вы сказали, что делаете это:

java BuildPartFour -classpath (...)

Где я предполагаю, что BuildPartFour является.class файлом в текущем рабочем каталоге. Это приведет к запуску вашего класса BuildPartFour, проходящего в -classpath (...) качестве аргументов вашей программы (они будут видны в public static void main(String[] args) args array

Это должно быть так:

java -classpath (...) BuildPartFour

Общая структура команды java:

java [options] [class] [args]
  • 0
    Я обновил вопрос. Это сделало меня значительным шагом вперед.
  • 0
    Да это. В настоящее время -classpath передается в качестве аргумента приложению, а не JVM.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню