Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 11

Собрать jar файл в линуксе

29.01.2014, 13:17. Показов 1906. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте! Работаю в eclipse на винде. Есть проект, в eclipse он собирается автоматически export-export runnable jar file. Тут решил взять папку с проектом перекинуть в debian (линукс) и собрать его получить jar файл и запустить. Как это сделать, вот именно сам скрипт нужен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2014, 13:17
Ответы с готовыми решениями:

Как разобрать и собрать jar-файл?
Итак, у меня есть .jar файл, точнее, их несколько, необходимо открыть этот .jar файл(это я могу сделать архиватором), изменить несколько...

Открыть jar файл (minecraft.jar) посредством VB.NET
Всем привет! Вообщем, как открыть файл minecraft.jar с помощью vb.net ? Я совсем не представляю как это делается, как запускается java с...

Как в java создать исполн jar файл для выполнения с целью, что бы потом код этого jar нельзя было использовать
(Новичок) Добрый день. Подскажи пожалуйста, как быть. Как создать jar файл что бы потом его код нельзя было просматривать, а то я по...

8
 Аватар для KuKu
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
29.01.2014, 14:54
0
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 11
29.01.2014, 16:32  [ТС]
Не совсем то.я написал код ant скрипта:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
   <project name="05.jar" default="all" >
 
                 <target name="make.dirs" description="Make some dirs">
                         <mkdir dir="build"/>
                         <mkdir dir="build/class"/>
                 </target>
 
                 <target name="compile" description="compile java" depends="make.dirs">
 
                             <javac destdir="build/class" fork="yes" includeantruntime="false" >
                                 <src path="C:\Users\Артем\workspace\LSB\src">
                                 </src>
                         </javac>
                 </target>
 
                 <target name="stuff.jar" description="make jar file" depends="compile">
                         <jar destfile="build/stuff.jar">
                                 <fileset dir="build/class">
                                        <include name="**/*.class"/>
                                        <exclude name="**/CVS"/>
                                 </fileset>
                         </jar>
                 </target>
 
                 <target name="all" description="Do the build" depends="stuff.jar">
                </target>
           </project>
выдает следующее C:\Users\Артем\workspace\LSB\build.xml:1 0: Error running javac.exe compiler

Добавлено через 1 час 10 минут
в линуксе выдает следующее:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
artem@debian:~/sborka/LSB$ ant
Buildfile: /home/artem/sborka/LSB/build.xml
 
make.dirs:
    [mkdir] Created dir: /home/artem/sborka/LSB/build
    [mkdir] Created dir: /home/artem/sborka/LSB/build/class
 
compile:
    [javac] /home/artem/sborka/LSB/build.xml:10: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] failed to read ecj.jar (reconfigure with --with-ecj-jar): /usr/share/java/eclipse-ecj.jar
    [javac] failed to load org.eclipse.jdt.internal.compiler.batch.Main from ecj.jar: /usr/share/java/eclipse-ecj.jar
    [javac] java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.batch.Main not found in java.net.URLClassLoader{urls=[file:/usr/share/java/eclipse-ecj.jar], parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:/usr/share/ant/lib/ant-launcher.jar,file:/usr/share/java/xmlParserAPIs.jar,file:/usr/share/java/xercesImpl.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}}
    [javac]    at java.net.URLClassLoader.findClass(libgcj.so.13)
    [javac]    at java.lang.ClassLoader.loadClass(libgcj.so.13)
    [javac]    at java.lang.ClassLoader.loadClass(libgcj.so.13)
    [javac]    at com.sun.tools.javac.Main.<clinit>(Main.java:91)
    [javac]    at java.lang.Class.initializeClass(libgcj.so.13)
    [javac]    at java.lang.Class.forName(libgcj.so.13)
    [javac]    at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.doesModernCompilerExist(CompilerAdapterFactory.java:166)
    [javac]    at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:125)
    [javac]    at org.apache.tools.ant.taskdefs.Javac.findSupportedFileExtensions(Javac.java:961)
    [javac]    at org.apache.tools.ant.taskdefs.Javac.scanDir(Javac.java:938)
    [javac]    at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:909)
    [javac]    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    [javac]    at java.lang.reflect.Method.invoke(libgcj.so.13)
    [javac]    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    [javac]    at org.apache.tools.ant.Task.perform(Task.java:348)
    [javac]    at org.apache.tools.ant.Target.execute(Target.java:390)
    [javac]    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    [javac]    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    [javac]    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    [javac]    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [javac]    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    [javac]    at org.apache.tools.ant.Main.runBuild(Main.java:809)
    [javac]    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    [javac]    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    [javac]    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
 
BUILD FAILED
/home/artem/sborka/LSB/build.xml:10: java.lang.ExceptionInInitializerError
   at java.lang.Class.initializeClass(libgcj.so.13)
   at java.lang.Class.forName(libgcj.so.13)
   at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.doesModernCompilerExist(CompilerAdapterFactory.java:166)
   at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:125)
   at org.apache.tools.ant.taskdefs.Javac.findSupportedFileExtensions(Javac.java:961)
   at org.apache.tools.ant.taskdefs.Javac.scanDir(Javac.java:938)
   at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:909)
   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
   at java.lang.reflect.Method.invoke(libgcj.so.13)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   at org.apache.tools.ant.Task.perform(Task.java:348)
   at org.apache.tools.ant.Target.execute(Target.java:390)
   at org.apache.tools.ant.Target.performTasks(Target.java:411)
   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
   at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
   at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
   at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
   at org.apache.tools.ant.Main.runBuild(Main.java:809)
   at org.apache.tools.ant.Main.startAnt(Main.java:217)
   at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
   at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.NullPointerException
   at com.sun.tools.javac.Main.<clinit>(Main.java:106)
   at java.lang.Class.initializeClass(libgcj.so.13)
   ...20 more
 
Total time: 3 seconds
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
29.01.2014, 16:57
Code
1
2
3
4
java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.batch.Main not found in 
java.net.URLClassLoader{urls=[file:/usr/share/java/eclipse-ecj.jar], 
    parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:/usr/share/ant/lib/ant-launcher.jar,file:/usr/share/java/xmlParserAPIs.jar,file:/usr/share/java/xercesImpl.jar], 
        parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}}
Что говорит which javac?
0
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 11
29.01.2014, 20:53  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Code
1
2
3
4
java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.batch.Main not found in 
java.net.URLClassLoader{urls=[file:/usr/share/java/eclipse-ecj.jar], 
    parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:/usr/share/ant/lib/ant-launcher.jar,file:/usr/share/java/xmlParserAPIs.jar,file:/usr/share/java/xercesImpl.jar], 
        parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}}
Что говорит which javac?
я уже ввел javac, нет такой команды. Поэтому решил отложить на завтра , но как я понимаю у меня установленна jre и это только интерпретатор, а мне надо скомпилить сначала в байт-классы, и компилятор находится в jdk соответственно надо установить jdk я правильно понял?
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
30.01.2014, 09:40
Тогда что говорит which ant? Я же правильно понимаю, ant Вы тоже самостоятельно не ставили?
0
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 11
30.01.2014, 13:14  [ТС]
Ant стоит в usr/bin/ant. И это логично потому что у меня собирается jar файл только если уже есть откомпилированные классы.Тоесть если я пропускаю этап javac. Javac - нету. значит его надо установить, сейчас попробую.

Добавлено через 1 час 0 минут
Решил проблему так установил sun jdk 1.7, здесь мануал по установке https://debian.pro/977 . Соответственно в этом же мануале настраивается javac и java ... Затем переше в директорию путь который состоит из латинских символов иначе ругается. И в коде удалил все коментарии и вообще все символы на русской раскладке все заменил латинице. Далее еще в скрипт добавил зменение манифеста потому что ант пишет в манифест только себя а надо указать еще и главный класс. После этого все собрало и запустилось в линуксе окончательный скрипт такой
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 <project name="05.jar" default="all" >
 
                 <target name="make.dirs" description="Make some dirs">
                         <mkdir dir="build"/>
                         <mkdir dir="build/class"/>
                 </target>
 
                 <target name="compile" description="compile java" depends="make.dirs"  >
 
                             <javac destdir="build/class" includeantruntime="true">
                                 <src path="./src"/>
                         </javac>
                 </target>
 
                 <target name="stuff.jar" description="make jar file" depends="compile">
                         <jar destfile="build/stuff.jar">
                                 <fileset dir="build/class">
                                        <include name="**/*.class"/>
                                        <exclude name="**/CVS"/>
                                 </fileset>
                     <manifest >
   
 
      <attribute name="Class-Path" value="."/>
    <attribute name="Main-Class" value="Start"/>
   
  </manifest>
                         </jar>
                 </target>
  
 
    
 
                 <target name="all" description="Do the build" depends="stuff.jar">
        </target>
           </project>
переходим в каталог и пишем
ant
cd build
java -jar stuff.jar
ВСЁ!)пользуйтесь)
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
30.01.2014, 13:20
Мне кажется, что /usr/bin/ant - это линк. Куда он смотрит?
0
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 11
30.01.2014, 13:38  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Мне кажется, что /usr/bin/ant - это линк. Куда он смотрит?
да это линк, смотрит в usr/share/ant , ant видимо шел у меня в пакете дебиан)только для юзеров хочу еще раз повторить, а то может кто не понял, в ant баг судя по всему он с русскими символами не работает как в пути откуда собираем так и в самом коде. Или что скорей всего нужно изменить кодировку в xml файле в атрибуте)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2014, 13:38
Помогаю со студенческими работами здесь

Разобрать и собрать обратно jar
Здравствуйте. В общем беда такова. У меня есть jar файл в котором лежат файлы properties локалей, а именно русский язык ссылок. Я...

JavaFX 12 не может собрать jar
Здравствуйте, уважаемые! Потребовалось тут сделать небольшую утилитку, скачал javafx12 sdk, прикрутил к 12й джаве, собрал проект, а...

Как правильно собрать и запустить проект в Jar или exe?
Всем добрый день. Прошу помощи. Пред история. Была поставлена задача обновления цен мебельной базы для программы 3D-Flat (надстройка...

Открыть файл на линуксе
пытаюсь открыть файл следующим образом: BufferedReader in = new BufferedReader(new FileReader(&quot;file.txt&quot;)); получаю...

Не открывается файл в Линуксе
Здравствуйте. Второй день изучаю ассемблер на Линукс. Использую GAS в Эклипс. Пробую открыть файл и все время возвращается ошибка -14...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru