Извините, я не мог быть более конкретным с самим вопросом. Вот что я запускаю: Windows 7 64bit, JDK v7, JRE v7 (64 бит) и JRE v6 (32 бит). Я довольно новичок, когда дело доходит до Java, однако я знаю, как скомпилировать программу и все такое. Я постоянно получаю сообщение об ошибке, когда я попытался запустить мои скомпилированные программы:Проблемы с компиляцией программ Java
C:\Users\Sean\Documents\JAVASTUFF\Chapter 3\1>javac ch3p1.java
C:\Users\Sean\Documents\JAVASTUFF\Chapter 3\1>java ch3p1
Error: could not open `C:\Program Files (x86)\Java\jre6\lib\i386\jvm.c
C:\Users\Sean\Documents\JAVASTUFF\Chapter 3\1>java -cp ch3p1
Error: could not open `C:\Program Files (x86)\Java\jre6\lib\i386\jvm.c
C:\Users\Sean\Documents\JAVASTUFF\Chapter 3\1>java cd3p1
Exception in thread "main" java.lang.NoClassDefFoundError: cd3p1
Caused by: java.lang.ClassNotFoundException: cd3p1
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: cd3p1. Program will exit.
C:\Users\Sean\Documents\JAVASTUFF\Chapter 3\1>java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode, sharing)
к сведению, что не может найти файл, потому что я изменил название папки, чтобы увидеть, если он будет автоматически обнаружит 64 битную JRE у меня есть установленный
Однако после достаточного поиска я нашел страницу, в которой указывались мои проблемы, потому что я запускал программу, которую я скомпилировал на JDK v7 в JREv6. Я немного перепутал это с этим, пытаясь заставить его работать в JRE, который пришел с моей загрузкой JDK.
CD: C:\Users\Sean\Documents\JAVASTUFF\Chapter 3\1
Current directory: C:\Users\Sean\Documents\JAVASTUFF\Chapter 3\1
javac ch3p1.java
Process started >>>
<<< Process finished.
C:\Program Files\Java\jre7\bin\java.exe ch3p1
Process started >>>
Error: Could not find or load main class ch3p1
<<< Process finished.
Я использую Notepad ++ и NppExec для компиляции быстрее, и я отказался от попыток его запустить JRE v7 и просто использовал расположение этого. А вот мой NppExec код (я не знаю, если это важно, но я отправлю его в любом случае):
cd $(CURRENT_DIRECTORY)
javac $(FILE_NAME)
C:\Program Files\Java\jre7\bin\java.exe $(NAME_PART)
И, наконец, вот текущая программа, которую я пытаюсь запустить:
public class ch3p1
{
public static void main(String args[])
{
System.out.print("Hello.");
}
}
Итак, краткое описание. Первая ошибка, о которой я узнал, заключалась в том, что я собирал и запускал программу с различными версиями JDK и JRE. Я не мог понять, как на самом деле заставить его работать с JRE, который пришел с моей установкой JDK, поэтому я использовал прямой путь к нему. Мои надежды раздробились, что это сработает, когда я пойду запустить свою скомпилированную программу. Я получил простую «Ошибка: не смог найти или загрузить основной класс ch3p1».
В чем вопрос? Я не знаю точно, широкий вопрос: что мне нужно сделать, чтобы заставить это работать? Я не могу быть более наглядным, чем это, потому что я понятия не имею, что делать или где искать дальше. Я надеюсь, что я предоставил достаточно полезную информацию и структурировал ее достаточно хорошо, чтобы сделать ее понятной.
Другие вопросы: Будет ли удаление двух обновлений Java 6 в моей программе «Установка и удаление программ»? Как изменить его, чтобы всякий раз, когда он запускает java, он запускает 64-битную JRE v7?
Я понятия не имею, что я здесь делаю, и я в основном учился, когда я ухожу. Я знаком с компьютерами, но я новичок в Java и JDK, поэтому я мало знаю о том, как это работает. Мое руководство может быть полностью неверно и неправильно, если так, пожалуйста, исправьте меня.
EDIT
Я понимаю, что есть много вопросов, на этом сайте, и я уверен, что люди проводки здесь ответить на множество вопросов, которые могут быть решены с минимальными никаких усилий участвующих. Я должен сказать, что я повсюду повсюду, и я пришел сюда, чтобы опубликовать это, потому что я просто не могу найти решение моей проблемы. Я не искал помощи в поиске другой программы для использования, и я определенно не помещал файлы в свой установочный каталог Java, потому что, несмотря на то, что я новичок в Java, я не новичок в программировании. Этот ответ можно было легко избежать, посмотрев первый пример, который я предоставил, и еще один, где путь к файлам .java и .class можно увидеть в папке в моих документах.
Я буду перечислять ответы и то, что я пытался здесь:
Я переустановил JDK и JRE с сайта Oracle
Я поставил свою системную переменную SET_HOME и моя системная переменная Path в нем есть каталог JDK bin.
Мой .class файл и мой .java-файл находятся в одном каталоге, а мой класс и .java-файл названы одинаковыми, включая точные.
После установки JDK и JRE я удалил свои предыдущие файлы и сделал новый, и это тоже не сработало.
Я попытался разместить прямые адреса java и javac, как это было предложено в ответе.
Я понимаю, что там есть лучшие IDE и программы для сборки, я использую javac, потому что класс, в котором я сейчас находится, использует javac.
Теперь, для некоторых дополнительных вопросов, чтобы помочь мне:
У меня есть Java-v6.xx обновления в моем добавить/удалить программы список, будет извлекать их в любом случае эффект ничего в положительный или отрицательный. И завершит ли удаление всех файлов JDK/JRE и переустановку что-нибудь изменит?
Есть ли какие-либо известные проблемы с использованием Java и Windows 7, с которыми я мог столкнуться.
Это проблема с JRE или JDK, потому что она, кажется, компилируется без каких-либо проблем, но когда я иду запускать, это когда я получаю ошибки.
Существуют ли другие переменные, кроме CLASS_PATH или Path, которые мне нужно установить?
Я ценю любую помощь, которая была предоставлена до сих пор, хотя я еще не нашел решение.
Ознакомьтесь с Явой чтения и делать некоторые учебники. Как этот http://docs.oracle.com/javase/tutorial/getStarted/cupojava/win32.html –
Остановите написание javac и научитесь использовать ant, или maven, или какой-либо другой инструмент реальной сборки. – bmargulies
@bmargulies Я думаю, что начинающие должны начинаться как можно проще. Изучение Maven перед запуском программы, вероятно, слишком много и слишком запутанно. – Optimist