LINUX.ORG.RU

помогите скомпилировать

 


0

2

начал изучать Java... Создал свою первую программу, Hello World!))) сохранил ее в домашнюю папку «123.java», помогите скомпилировать (*.class)

пробывал командой java 123.java и javac 123.java

пишет: Приложение 'java' может быть найдено в следующих пакетах: * default-jre * gcj-4.6-jre-headless * gcj-4.7-jre-headless * openjdk-7-jre-headless * openjdk-6-jre-headless

Установил Java Platform (JDK) http://mintusers.ru/blogs/view/71 Проверял, все установленно http://www.java.com/en/download/testjava.jsp


В PATH отсутсвует твоя java из-за нестандартного пути

false ★★★★★
()

«В качестве идентификатора может использоваться любая последовательность строчных и прописных букв, цифр и символов _ (подчеркивание) и $ (доллар). Идентификаторы не должны начинаться с цифры, чтобы транслятор не перепутал их с числовыми литеральными константами»

может это

Jills
()
Ответ на: комментарий от MSI

Вот и не надо ставить программы на примере Windows. Надо отменить все, что сделано по этой инструкции и поставить openjdk-7-jdk через пакетный менеджер

sudo apt-get install openjdk-7-jdk
BlackHawk
()
Ответ на: комментарий от BlackHawk

установил openjdk. как удалить предыдущую установку думал так «sudo rm /usr/java/jdk1.7.0_25», но на деле не так((

MSI
() автор топика

Пофиг, какой рантайм. Компиляешь

javac Clasnmame.java
Выполняешь
java Classname
Имя класса и имя файла должны совпадать.

cdshines ★★★★★
()

Как правило, название файла должно точно повторять название java-класса. Если класс размещён в пакете, то файл должен лежать в соответствующей иерархии каталогов.

static_lab ★★★★★
()
Ответ на: комментарий от anonymous

А ты ОП читал?

помогите скомпилировать (*.class)
пробывал командой java 123.java и javac 123.java

Из этого, кроме безграмотности ТСа, следует еще и вывод о том, что он не понимает, что делает вообще. А с учетом того, что как установить рантайм, ему уже посоветовали, мой совет только приобретает ценность для ТСа. Что, впрочем, не отменяет то, что ему следует начать с выяснения, почему sudo rm /usr/java/jdk1.7.0_25 не работает.

cdshines ★★★★★
()

поставь бесплатную IntelliJ IDEA Community Edition и учись прогать в ней. Именно идею, а не эклипсу - эклипса уже когда привык. Когда поймешь, как работает жава и сможешь не дергаться («аааа все пропало! ничего не понимаю!), тогда уже пробуешь всякие извраты.

Пока что тебе надо знать. что название файла должно совпадать с названием класса, название класса/файла должно начинаться с заглавной латинской буквы, и всё что ты используешь должно находиться в CLASSPATH. Нормальная IDE сама за тебя пропишет правильный classpath и не даст называть вещи неподходящими именами. Можно прочитать все эти конвенции в документации, а можно автоматически запомнить их в ходе использования нормального IDE. Мне кажется, второй путь приятней и быстрее, ты не тратишь время на всякую чушь.

stevejobs ★★★★☆
()
Ответ на: комментарий от Artificial_Thought

openjdk не соответствует некоторым инструкциям в интернетах. На openjdk иногда косячит эклипса и идея. openjdk, если он установлен пакетным менеджером, можно случайно закосячить, и потом еще придется разбираться, как в пакетном менеджере восстанавливать пакеты. Новичку, если он вообще ничего не понимает, нужно чтобы «просто работало», иначе любая самая минимальная ошибка будет фатальной. Вот чувак неправильно класс назвал, и все, приехали.

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Пиздец. Если такие сраные дибилы работают на должности жаба девелопера, то мне не о чем беспокоится.

anonymous
()
Ответ на: комментарий от anonymous

ТС жаву за неделю выучит, а ты так и будешь ныть в лиспосрачах о несправедлиовсти жизни

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Не правильнее ли сразу разобраться с CLASSPATH, компиляцией, покурить JVM, а уже потом с этими знаниями разрабатывать в $ANY_IDE?

Insomnium ★★★★
()
Ответ на: комментарий от Insomnium

Как правило? Не всегда? True story?

Спецификация Java, параграф 7.6

If and only if packages are stored in a file system (§7.2), the host system may choose to enforce the restriction that it is a compile-time error if a type is not found in a file under a name composed of the type name plus an extension (such as .java or .jav) if either of the following is true:

The type is referred to by code in other compilation units of the package in which the type is declared.

The type is declared public (and therefore is potentially accessible from code in other packages).

This restriction implies that there must be at most one such type per compilation unit. This restriction makes it easy for a Java compiler to find a named class within a package. In practice, many programmers choose to put each class or interface type in its own compilation unit, whether or not it is public or is referred to by code in other compilation units.

static_lab ★★★★★
()
Ответ на: комментарий от Insomnium

если нужно сделать сайт за 3 дня, а жаву увидел вчера вечером, то просто некогда

stevejobs ★★★★☆
()
Ответ на: комментарий от static_lab

В частности, такое скомпилируется и будет работать:

// Test.java -> Hello.class

class Hello {
	
	public static void main(String[] args) {
		System.out.println("Hello world");
	}
}

А такое — нет:

// Test.java ->  error: class Hello is public, should be declared in a file named Hello.java

public class Hello {
	
	public static void main(String[] args) {
		System.out.println("Hello world");
	}
}
static_lab ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.