Loading...
arsoman avatar arsoman 419 Точки

[Technical Issue] Java - Неразпозната команда javac?

Здравейте, имам проблем с компилиране на .java файлове, като вляза в cmd-то и напиша javac ми дава неразпозната команда! Имам JDK 7.0, която ми дойде заедно с NETBEANS, сега изтеглих JDK 8.0 и пак ми дава същата грешка. Моля за съвет, средата ми е Eclipse в W7.

Тагове:
0
Java Advanced 17/01/2015 11:57:49
ttitto avatar ttitto 1153 Точки

трябва да си въведеш пътя до javac.exe файла в системните пътища за търсене на конзолата. това става от windows start button-> пишеш environment и избираш Edit environment variables for your account или edit system environment variables. търсиш дали имаш променлива с име path. Ако имаш, допълваш стойността и  с ";" и пътя до бин папката на java (нещо като C:\Program Files\Java\jdk1.8.0_05\bin). Ако няма променлива path си я създаваш с горната стойност (при теб инсталационната папка може да е друга)

5
Tr00peR avatar Tr00peR 566 Точки

Десен бутон на My Computer -> Properties -> Advanced System Settings -> Environment Variables.

В system variables търсиш Path -> Edit и добавяш накрая ;C:\Program Files\Java\jdk1.8.0\bin (ако си инсталирал в стандартана директория, иначе където ти е bin папката на jdk).

Сега вече ще ти разпознава java и javac командите.

1
milen8204 avatar milen8204 296 Точки

Здрасти, можеше да дадеш едно копи пасте на грешката, но предполагам, че не си задал път до javac.exe. Виж дали това ще ти помогне.

С две думи трябва да добавиш пътя до javac.exe.

Помъчил съм се да го обясня в домашното ми за ръчно компилиране ето съдържанието на compile-and-run-commands.txt файла.

Edit: Явно докато пиша и търся къде съм дянал файловете вече колегите са ти отговорили. :)

1
arsoman avatar arsoman 419 Точки

Супер сте колеги, благодаря много за отговорите! Преди това го правих за visual studio, ама съм го забравил! Благодаря, живи и здрави да сте!

0
iliangrekov avatar iliangrekov 63 Точки

Здравейте ще изполвам темата на колегата. Не мога да се оправя с  Linux Terminal-a. Проблемът ми е следния -  елементарните програмки ги компилирам с

javac bg.softuni.java/src/homeworks/intro/PrintName.java

след това

java -cp bg.softuni.java/src homeworks.intro.PrintName

всичко работи - да тук е ясно.

Проблемът ми е с папка lib, в която имам външна библиотека, но не мога да я свържа с .java файла и съответно с class файла след това. Опитах по този начин, но ми дава грешка, че не намира библиотеката com.itextpdf.text

javac -classpath bg.softuni.java/lib/itextpdf-5.5.4.jar bg.softuni.java/src/homeworks/intro/DeckOfCardsPdf.java

Това проработи, но как да execute-на?

 

0
17/01/2015 01:23:26
SimeonStoykov avatar SimeonStoykov 114 Точки

Кое по-точно как да execute-неш? Програмата, която печата карти ли? Ако имаш предвид как да свържеш програмата, която печата карти и външната библиотека и след това да executе-неш самата програма през конзолата, то това става като първо направиш един .jar файл, който съдържа .class файла на програмата ти, файла на шрифта (ако използваш външен шрифт) и .jar файла на въшната библиотека. След това отваряш терминала и отиваш в папката, в която е новонаправения от теб .jar (cd "..." като вместо "..." пишеш пътя до директорията на .jar файла). След това, за да пуснеш програмата и да създадеш PDF файл пишеш в терминала следното:

java -jar ИметоНаДжарФайла.jar

 

0
17/01/2015 01:38:26
iliangrekov avatar iliangrekov 63 Точки

Да, не мога да разбера как се указва на java да чете от библиотеката която е друга папка от .class файла.  

0
17/01/2015 23:14:59
SimeonStoykov avatar SimeonStoykov 114 Точки

Пробвай по начина, по който описах и ако имаш проблеми пак пиши.

0
TKlasnakov avatar TKlasnakov 28 Точки

Аз също имам проблем, но с Linux Xubuntu. Пробвах да компилирам както е показано в лекцията след като си направя *.jar фаел, но ми дава "Unsuported major.monor version". По другия начин, който пробвах е да го направя с javac, но когато се пробвам да екзекутена ми казва, че не може да чете бинарна информация - "Cannot execute binari file : Exec format error". Търсих доста из гугъл, пробвах няколко решения, но никое не ми свърши работа. Благодаря Ви предварително. 

0
SimeonStoykov avatar SimeonStoykov 114 Точки

Искаш да компилираш .jar файл през конзолата ли? Ако това е което искаш да направиш пробвай по следния начин:

Отваряш конзолата и пишеш cd ... (като на мястото на ... пишеш пътят до папката, в която се намира .jar файлът, този път трябва да изглежда по подобен начин: /home/user/workspace/JavaBasics/Homeworks/Introduction-to-Java като при теб може да е различен в зависимост от това къде точно си направил .jar файла).

След това пишеш java -jar ИмеНаДжарФайла.jar и изчакваш няколко секунди, след което той трябва да се е изпълнил.

1
TKlasnakov avatar TKlasnakov 28 Точки

Уви, продължава да не подкарва програмата през терминала. Сега ми дава грешка - " no main maifest attribute in SumTwoNumbers.jar" :( 

0
iliangrekov avatar iliangrekov 63 Точки

По този начин не става ли колега в зависимост от пътя ти до архива:

javac -classpath "filename/SumTwoNumbers.jar" (тук пишеш заедно с имената в пакета примерно ако цялото име  е java.intro.SumTwoNumbers)    java/intro/SumTwoNumbers.java

Съответно после за изпънението на .class файла пишеш почти същото, но java вместо javac, пътя, който в случая е същия и този път задаваме цялото има не class файла с точкова нотация, съответно без да пишеш разширенито на файла. 

java -classpath "filename/SumTwoNumbers.jar"  java.intro.SumTwoNumbers

Дано съм помогнал.

Погледни и тук за manifest файла:

How to create a .jar file using the terminal

1
19/01/2015 16:29:01
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.